public static function container(bool $skipLocatingExternal = false) : ContainerInterface
    {
        if (isset(static::$externalContainer)) {
            return static::$externalContainer;
        }
        if (isset(static::$internalContainer)) {
            return static::$internalContainer;
        }
        if (
            !$skipLocatingExternal
            && ($container = static::locateExternalContainer())
        ) {
            static::injectExternalContainer($container);
            return static::$externalContainer;
        }
        return (static::$internalContainer = new static());
    }