- avoid class variables if possible: you'd otherwise have to define a reader and a writer just so that you can clear out this state in tests...
- avoid defining those singleton methods on the module if possible