Another strategy is to have events on the `Tile` itself, such as to say "I was clicked", that whatever controller is managing all the tiles listens too.  Just one less global thing that this class needs to know about.  I think this is ok though.