events now bound to document when needed (in registerEvents)