A lot of changes here.  Mostly, I added UserSessions to keep track of users and changed the way the PhysicalNetworkHost access switches are kept track of.