public static function registerDefaultServices(ContainerInterface $container)
    {
        if (!$container->has('argv')) {
            $container['argv'] = $_SERVER['argv'];
        }

        if (!$container->has('Debug')) {
            $container['Debug'] = function (ContainerInterface $c) {
                return new DebugMiddleware($c);
            };
        }

        if (!$container->has('Database')) {
            $container['Database'] = function (ContainerInterface $c) {
                return new DatabaseMiddleware($c);
            };
        }

        if (!$container->has('Console')) {
            $container['Console'] = function (ContainerInterface $c) {
                return new ConsoleMiddleware($c);
            };
        }

        if (!$container->has('callableResolver')) {
            /**
             * Instance of \Slim\Interfaces\CallableResolverInterface
             *
             * @param ContainerInterface $c
             *
             * @return CallableResolver
             */
            $container['callableResolver'] = function (ContainerInterface $c) {
                return new CallableResolver($c);
            };
        }
    }