Large refactor of squareListener logic.

Added layer of abstraction so that other games can implement their own logic for what clicking on a square means.