model refactoring (on pencil, tiles, context, maps, layers...)