public static function get(ContainerInterface $container, array $components = array(), &$globals = null)
    {
        $configuration = new Configuration;

        $collection = new Collection;

        foreach ((array) $components as $component) {
            $instance = self::prepare($collection, $component);

            $container = $instance->define($container, $configuration);
        }

        $collection->setContainer($container);

        // NOTE: To be removed in v1.0.0. Use Application::container instead.
        $globals === null || $globals['container'] = $container;

        return $collection;
    }