- Refactored to use method pointers rather than function pointers.
- Changed to a constructor to initialise the Delegate.
- Adding the Container.