public function hasService($name, $resolve = TRUE) {
        if(array_key_exists($name, $this->services)) {
            return TRUE;
        }

        if(!$resolve) {
            return FALSE;
        }

        $classname = "Loops\\Service\\".Misc::camelize($name);

        if(class_exists($classname)) {
            $reflection = new ReflectionClass($classname);

            if($reflection->implementsInterface("Loops\ServiceInterface")) {
                if(!$classname::hasService($this)) {
                    return FALSE;
                }
                $this->registerService($name, $classname, [], $classname::isShared($this));
            }
        }

        return $this->hasService($name, FALSE);
    }