Adding support for tilemaps, renamed a lot of methods to be consistent, more code cleanup.