This kind of checking is going to lead to some really ugly code as we continue to add more cases. At some point, the architecture here will have to improve to accommodate a list of functions that might alter the output.