IMessage interface to share the important part between Inbound and Outbound messages
MessageEventArgs has IMessage instead
UserFactory.Parse returns a User instead of a 3-ple
TestClient tests were out of date