public function unbind($event, $cb = null)
{
if ($cb !== null) {
$cb = CallbackWrapper::wrap($cb);
}
is_array($event) or $event = [$event];
$success = true;
foreach ($event as $e) {
if (!isset($this->eventHandlers[$e])) {
$success = false;
continue;
}
if ($cb === null) {
unset($this->eventHandlers[$e]);
continue;
}
CallbackWrapper::removeFromArray($this->eventHandlers[$e], $cb);
}
return $this;
}