Revert 24895a8..0ab37c7

This rolls back to commit 24895a8c20942409cdaeccf3a765699c888b5b79.
Programming… finally.

I finally remembered how to do all of this. OOP is all the same, I just
had to calm down and remember what I know.