Implement class and instance patching

TODO:

- [ ] implement class patching
- [ ] implement instance patching
Why do I have to call the monkey-patched method directly to invoke it?