Postoffice -

Has a list of open sockets to muds - can talk to server to get unknown
muds. Also finds local objects

Connection * get_connection_with_hint(String name,Host host)
  Check this first
Connection * get_connection(String name)
  return an object for sending and receiving messages
void broadcast(String mask,Message *)

Host -
  Type      - local mud, local socket, internet socket
  hostname
  port

Connection protocol - abstract class
  void send_message(Message *)
  Message * message_with_reply(Message *)

Connection implemented firstly as a socket-based class for remote objs,
second by normal mud objects

Message -
  name of sender
  host of sender
  time sent
  service
  MudObject *

One service implemented by objects -
  void register_with_event(String eventname,Message * sendthis)
  void unregister_with_event(String eventname)
  void suppress(String eventname,String component)
    Mask this component while object is registered so it doesn't receive
  messages

Event handler -
  List of hosts and object names
  register,unregister funcs
  void trigger(void) - trigger event



