public function add(string $key, $object)
    {
        $key = self::ProcessKey(__METHOD__, $key);
        $objectType = gettype($object);
        switch ($objectType) {
            case "object":
                $this->repository->push($object, $key);
                return true;
            case "string":
                return $this->service($key)->class($object);
            default:
                throw new DependencyInjectionException(
                    sprintf('Cannot store "%s" in Dependency Injection container', $objectType)
                );
        }
    }