refactor(dccd): Simplify both the interface and the implementation

#909 cont'd. This commit is for the map changes (909 is for collection).

Probably needs one more PR to clean & unify names but the priority is low.

/cc @caitp