Moved singleton provider to CommonJS class so it's easier to use this a project include.