protected function fireEvent($name, $payload = null)
    {
        if (! isset(static::$dispatcher)) {
            $this->initEventDispatcher();
        }

        static::$dispatcher->fire($name, $payload);
    }