Refactors the old HookSystem into a typed event bus with clear separation, discovery and types.
Implements the new screencopy protocols