code: public function inject(...$injects) : void
      {
          $container = new Container;
          $requested = [];
          foreach ($injects as $inject) {
              if (is_string($inject)) {
                  $requested[] = $inject;
              } elseif (is_callable($inject)) {
                  $reflection = new ReflectionFunction($inject);
                  foreach ($reflection->getParameters() as $param) {
                      $requested[] = $param->name;
                  }
              }
          }
          foreach ($requested as $dependency) {
              $this->$dependency = $container->get($dependency);
          }
      }
docs: Inject the specified dependencies into this object. Each argument can be
  either a string containing the name of the dependency, or a callable
  where each argument defines that name.
  
  @param string|callable ...$injects What to inject.
  @return void
  @throws Psr\Container\Exception\NotFoundExceptionInterface if _any_ of
  the requested dependencies could not be resolved.