Refactor for future

Bindings are in 'fake' private modules
Element-specific features should be moved to own modules
WIP: Events indexed by both event type and target