I want to create a type of hook where I could dynamically attach to an objects methods to detect when the method is being run. I want to be able to have a pre and post execute.

Is it possible?
Where would I start?