public function subscribe($eventName, $callable, $priority = 0)
    {
        if (!is_callable($callable)) {
            throw new SubscriberNotCallable();
        }

        $this->eventList[$eventName][$priority][] = $callable;

        /*
         * Clear cached sorted array
         */
        unset($this->sorted[$eventName]);

        return $this;
    }