public function bindClass(string $name, string $factory, array $arguments = [], bool $shared = true) : ServiceFactory
    {
        $factory = new ServiceFactory($factory, $arguments);

        if ($shared) {
            $this->bindFactoryShared($name, $factory);
        } else {
            $this->bindFactory($name, $factory);
        }

        return $factory;
    }