public function invoke($callable, array $params = [], $constructorArgs = [])
	{
		if (is_string($callable) && strpos($callable, '::') !== false) {
			$callable = explode('::', $callable, 2);
		}

		if (is_array($callable) && is_string($callable[0]) && $constructorArgs) {
			$callable[0] = $this->container->resolve($callable[0], $constructorArgs);
		}

		return $this->container->invoke($callable, $params);
	}
public function invoke($callable, array $params = [], $constructorArgs = [])
	{
		if (is_string($callable) && strpos($callable, '::') !== false) {
			$callable = explode('::', $callable, 2);
		}

		if (is_array($callable) && is_string($callable[0]) && $constructorArgs) {
			$callable[0] = $this->container->resolve($callable[0], $constructorArgs);
		}

		return $this->container->invoke($callable, $params);
	}
{@inheritdoc}