public function provides(array $provides)
    {
        $services = [];

        foreach ($provides as $provider) {
            try {
                if (!isset($this->manifest[$provider])) {
                    $services[$provider] = $this->recompileProvider($provider);
                } else {
                    $services[$provider] = $this->manifest[$provider];
                }
            } catch (Exception $ex) {
                Log::error($ex);
                continue;
            }
        }

        $this->dispatch($services);
    }