WIP - before/after hook cleanup.

- Redo before/after hooks.
- Run order:
  - instance options
  - inherited hooks from top to bottom of inheritance chain