removed singleton pattern for module stores and implemented remote datasource protocol instead