code: public function resolveCallable(
          IContainer $container,
          $callable,
          array $args = []
      ) {
          if (is_string($callable) && function_exists($callable) || is_object($callable)) {
              return $this->resolveFunction($container, $callable, $args);
          } else if (is_array($callable) && is_callable($callable)) {
              return $this->resolveMethod($container, $callable[0], $callable[1], $args);
          } else {
              throw new InvalidCallableFormatException('Invalid callable given.');
          }
      }
docs: @param IContainer $container
  @param $callable
  @param array $args
  
  @return mixed
  @throws Exception
  @throws UnresolveableArgumentException