/** * Executes command basing on business object * * @param array $commandSubject * @return void */ public function execute(array $commandSubject) { // @TODO implement exceptions catching $transferO = $this->transferBuilder->build($this->requestBuilder->build($commandSubject)); $response = $this->gateway->placeRequest($transferO); $this->responseHandler->handle($commandSubject, $response); }