public function execute($state, Event &$event) {

        $method = 'on_' . $state;

        if (method_exists($this, $method)) {
//            $reflector = new \ReflectionClass(get_class($this));
//            $parameters = $reflector->getMethod($method)->getParameters();
//            unset($reflector);

//            if(is_object($parameters[0]->getClass()) && $parameters[0]->getClass()->name == 'Gossamer\Horus\EventListeners\Event'){
//                //could be passed by reference if it's an Event...
//                call_user_func_array(array($this, $method), array(&$event));
//            } else {
//                $this->logger->addDebug('class: ' . get_class($this) . ' found');
//                call_user_func_array(array($this, $method), array($params));
//            }
            call_user_func_array(array($this, $method), array($event));

        }
    }