Adding in map models and basic web sockets, needs more work...