Re-wrote for cleaner readability and better performance
- added a drawer class that only displays things
- and a logic class that only handles the inputs
- using a separate the data holder
- and a manager to handle the initialization of the mod (save/load/reload)