Refactor many CRM module functions to common CrmModule
cleaned up tests to use new CrmModule