protected function event($name, $type, $object, $event)
    {
        if (is_null($this->triggers)) {
            return;
        }

        $event = ucfirst($event);

        $deprecatedEvent = strtolower($event); // @deprecated Backwards compatibility

        if (method_exists($this->triggers, "{$name}{$event}")) {
            call_user_func(array($this->triggers, "{$name}{$event}"), $object);
        } elseif (method_exists($this->triggers, "{$name}_{$deprecatedEvent}")) { // @deprecated Backwards compatibility
            call_user_func(array($this->triggers, "{$name}_{$deprecatedEvent}"), $object);
        }

        if ($type) {

            $type = ucfirst($type);

            if (method_exists($this->triggers, "{$name}{$type}{$event}")) {
                call_user_func(array($this->triggers, "{$name}{$type}{$event}"), $object);
            } elseif (method_exists($this->triggers, "{$name}_{$type}_{$deprecatedEvent}")) { // @deprecated Backwards compatibility
                call_user_func(array($this->triggers, "{$name}_{$type}_{$deprecatedEvent}"), $object);
            }
        }
    }