Split the catalogue model up into a model, a processor, and the hiberante user type mappings.