refactor map related code into a separate class with a constrained interface
Merge branch 'cluster_attendees'