I've decided to work on reverting to the older system as the newer system is going to require a more involved UI system. For example, in the old system the current screen received input and then delegated it to its UI elements. However, in the newer system the UI is a separate component, so it doesn't matter what the current screen is (causing issues like the character moving when I click on the inventory slots.) I am going to keep the new system in place as it is now managing themes (which is no longer a singleton) as well as the cursor. The latter is the more important as with the old system each screen had to draw the cursor, which caused it to be drawn multiple times at some points.