Start converting to use State and Reader monad transformers