resolveArguments( $this->arguments ); $concrete = new $concrete(); // Constructor injection causes backwards compatibility problems // so we will rely on method injection via an internal method. if ( method_exists( $concrete, static::INJECTION_METHOD ) ) { call_user_func_array( array( $concrete, static::INJECTION_METHOD ), $resolved ); } return $concrete; } }