public function __isset($name)
    {
        $dtp = new \stdClass();
        $dtp->propertyName = $name;
        $dtp->continue = TRUE;
        $dtp->results = FALSE;

        $this->triggerEvent(self::EVENT_ON_BEFORE_ISSET_PROPERTY, $dtp);
        if ($dtp->continue == TRUE) {
            $getter = $this->public_function_prefix . 'get' . $dtp->propertyName;
            if ($this->hasMethod($getter)) {
                $dtp->results = $this->$getter() !== NULL;
            } else {
                $dtp->results = FALSE;
            }
        }
        $this->triggerEvent(self::EVENT_ON_AFTER_ISSET_PROPERTY, $dtp);

        return $dtp->results;
    }