Refactored event reporting to allow different types of reporting
Hook based system is now working
* EventHooks can how have HookRunners which can terminate the hook once a specific condition is met. Currently this is only a cancelled condition
Added /whatis whatcancelled to quickly show what cancelled an event, or action