more work on rooms api.  using wrappers for client side constructors so that app can be passed along more easily