Commons update

- AsyncProvider and its utilities have been added
- Counter and Range have been added
- All staff above have been covered by unit-tests