cache closure with fullname
onEvent and emitEvent
migrate to middlewares
fix param handlers