Changed modules to Singleton pattern, added demo code