Added a hook system to the base Component class.

Any class extending from the Component class now has access to the hook system and can define its own hooks.