feat(map): create controller to handle map events.