Begin the OO rewrite of my functionalities