refactor map events, ability to add controls on map, remove marker source (analog of ng-repeat)