Almost direct port of code from internal project
Need:
- abstraction layer around persistence layer (currently hard-coded to MongoDB)
- tests!
Rename SingletonProcess class to just Singleton
Add basic README documentation