public function getSubscriptions()
    {
        if (! $this->__subscriptions) {
            $subscriptions  = array();

            //Get all the public methods
            $reflection = new ReflectionClass($this);

            foreach ($reflection->getMethods(ReflectionMethod::IS_PUBLIC) as $method) {
                if (substr($method->name, 0, 2) === 'on') {
                    $subscriptions[] = $method->name;
                }
            }

            $this->__subscriptions = $subscriptions;
        }

        return $this->__subscriptions;
    }