I've finished my second stage.
The code needs cleaning though. A lot of stuff is messy and far far too interlinked so I'm going to try and reduce the amount of code and make it clearer. The goal for the weekend is to remove the map dependancy from the map object class. Map objects should be owned by the map class, there shouldn't be a need for a back link! ... at least I'm pretty sure there shouldn't be.
This is tomorrows job any way. Tonight I'm going to relax.