event handling + 2 bugfixes (duplicate event trigger + functor context)