/**
  * @see	UserTypeManager::introduceUser()
  */
 public function introduceUser($timestamp, $nick, $hostname, $displayedHostname, $ident, $ip, $signonTimestamp, $modes, $gecos, $uuid = '')
 {
     if (empty($uuid)) {
         // generate new uuid
         $uuid = UUID::getInstance()->generate();
     }
     // get ID
     $ID = count($this->userList);
     // create new user
     if (!Services::memcacheLoaded()) {
         $this->userList[] = new $this->userType($uuid, $timestamp, $nick, $hostname, $displayedHostname, $ident, $ip, $signonTimestamp, new $this->modeList($modes), $gecos);
     } else {
         $userList = Services::getMemcache()->get(get_class($this) . '_data');
         $userList[] = new $this->userType($uuid, $timestamp, $nick, $hostname, $displayedHostname, $ident, $ip, $signonTimestamp, new $this->modeList($modes), $gecos);
         Services::getMemcache()->add(get_class($this) . '_data', $userList);
     }
     // return uuid
     return $uuid;
 }