private function resolveDependencies(callable $callback, array $vars): array
    {
        $method = new \ReflectionMethod($callback[0], $callback[1]);

        $dependencies = [];

        foreach ($method->getParameters() as $parameter) {
            if ($parameter->getClass() === null && !count($vars)) {
                break;
            }

            if ($parameter->getClass() === null && count($vars)) {
                $dependencies[] = array_shift($vars);

                continue;
            }

            $dependencies[] = $this->injector->make($parameter->getClass()->name);
        }

        return $dependencies;
    }