Removing singleton stuff and implementing a module interface and setup container