Minigame Refactoring - Part 1

Refactoring to better apply SOLID.