Added HookableEvent extending LifecycleEvent

All hookable events should extend this event instead of lifecycle