The module needs to be able to: Get a tile ID. (x, y, layer). Set a tile ID. (x, y, layer, new ID). Get a property of a tile, by name. Get a property of a layer, by name. Get a property of a map, by name. I suppose everything should be pre-loaded into RAM so that checks are speedy.