We need a generic way to ensure a button is selectable on each screen. Let's start with Main Menu, as it has both vertical and horizontal button layout. I recommend: Dictionary<Vector2, TextSprite> containing the screen's buttons. Vector2 in this Dictionary is not the actual X,Y position of the button - it is a relative position of the button to other buttons. So, a button in top-left corner should be 0, 0; the one directly to the right of it should be 0, 1; the one directly down of 0, 0 should be 1, 0; etc.