Author: Stuart Herbert (stuherbert@ganbarodigital.com)
 /**
  * start the definition of a host in this group
  *
  * @param string $hostId
  *        the ID of this host
  * @param HostAdapter $hostAdapter
  *        the plugin for this kind of host
  * @return TestEnvironment_HostDefinition
  *         the empty host definition, for you to complete
  */
 public function newHost($hostId, HostAdapter $hostAdapter)
 {
     // make sure we're happy with the hostId
     $hostIdValidator = new TestEnvironment_HostIdValidator($this);
     $hostIdValidator->validate($hostId);
     // create the new host and send it back
     $this->hosts[$hostId] = $hostAdapter->newHostDefinition($this, $hostId);
     $this->hosts[$hostId]->setHostAdapter($hostAdapter);
     return $this->hosts[$hostId];
 }