Update preprocessor to use a class

Huh, I forgot to submit this.