WIP: Do some refactoring. Add some useful methods in Utils. Add save/restore functionality for the map's camera.