Moved the data storage to its own class ( Why didn't I do this before? )