Add support for different key types for map collections
Refactor various admin services