public function observe($class)
    {
        $className = is_string($class) ? $class : get_class($class);

        if (!class_exists($className)) {
            return;
        }

        foreach ($this->getObservableAbilities() as $ability) {
            if (method_exists($class, $ability)) {
                $this->registerAbility($ability, $className . '@' . $ability);
            }
        }
    }