Update normalization to be more scalable and remove Reference factory

To add a type to normalize, just add a service and a normalizer