Using IOC type modules rather than list of Components