protected function attachOnceListener($pointer, $event, callable $listener)
{
return function () use($listener, $event, $pointer) {
unset($this->eventListeners[$event][$pointer]);
$args = func_get_args();
$this->getLoop()->onTick(function () use($listener, $args) {
call_user_func_array($listener, $args);
});
};
}