- use a Register() method to register describers, instead of directly
  setting on a map
- allow the host, rev to be overridden by the user
Host type is now a string