Map Caching

Working on the map caching system, like I said before, this is going to
take a very long time to get right.