Hmm it crashes with an out of memory range error. My class inherits Object so the function is available and compiles.
void NotificationManager_UpdateHook(shared_ptr<Engine::Object> source, shared_ptr<Engine::Object> object) {
}
...
void NotificationManager::Init() {
AddHook(HOOKID_UPDATE, NotificationManager_UpdateHook, Self());
}