refactor(collection): use Map instead of Object