Transport registration redux

Not ready for merge, seeing if the version of mono that travis uses is going to choke on this or not.