Added marshal.router() and made transport required.