Use factory classes so we can cache the module config
Merge pull request #11 from Contatta/topic/usefactories

Use factory classes so we can cache the module config