/**
  * Sends a request and records it to the journal.
  * 
  * @param Message\Request  $request  A request object
  * @param Message\Response $response A response object
  * 
  * @return Message\Response A response object
  */
 public function send(Message\Request $request, Message\Response $response = null)
 {
     if (null === $response) {
         $response = $this->createResponse();
     }
     if ($request instanceof BrowserAwareInterface) {
         $request->setBrowser($this);
     }
     $this->getClient()->send($request, $response);
     $this->getJournal()->record($request, $response);
     return $response;
 }