Renamed Callback to Delegate. Created Event class that allows multiple objects to register callbacks which fire when the Event is invoked. Pulled most Map functionality out into separate Grid data structure, intended to represent any data type that is stored in a 2D square grid. World now stores a Grid of TileSprites, which update automatically when the underlying Map data changes (via Event callbacks). Tiles now support variations (to a limited degree).