Implement a basic Tile system
Update various utility classes to override Object#hashCode