[RFC] Refactor normalize methods to new abstract class

This is untested code. Travis won't like it.