public function addType($mSlug, $sLabel = '', $sDescription = '', $aHooks = [])
    {
        if (empty($mSlug)) {
            return false;
        }

        if (is_string($mSlug)) {

            $this->aEventTypes[$mSlug]              = new \stdClass();
            $this->aEventTypes[$mSlug]->slug        = $mSlug;
            $this->aEventTypes[$mSlug]->label       = $sLabel;
            $this->aEventTypes[$mSlug]->description = $sDescription;
            $this->aEventTypes[$mSlug]->hooks       = $aHooks;

        } else {

            if (empty($mSlug->slug)) {
                return false;
            }

            $this->aEventTypes[$mSlug->slug]              = new \stdClass();
            $this->aEventTypes[$mSlug->slug]->slug        = $mSlug->slug;
            $this->aEventTypes[$mSlug->slug]->label       = $mSlug->label;
            $this->aEventTypes[$mSlug->slug]->description = $mSlug->description;
            $this->aEventTypes[$mSlug->slug]->hooks       = $mSlug->hooks;
        }

        return true;
    }