public function wrap($event, $object, $callback)
{
$events = (array) $event;
foreach ($events as $e) {
$this->trigger("before{$e}", $object);
}
call_user_func($callback, $object);
foreach ($events as $e) {
$this->trigger("after{$e}", $object);
}
return $this;
}