       "end": @onMissionEnd
       "mode": @updateVehicleMessage
       "arm": @updateVehicleMessage
+      "update": @onMissionUpdate
       "mystery": @updateVehicleMessage
       "text": @updateVehicleMessage
 

    )

  onLive: (data) =>
    # FIXME - not sure if I need apply... (or how to optimize it)
    # Apply should be called around the function to be guarded... -kevinh
    @scope.$apply(() =>
      key = @vehicleKey(data.missionId)
      @updateVehicle(key, data)

      # Grow (or create) our bounds
      if @boundsFactory.expand(data.payload.lat, data.payload.lon)
        @scope.bounds = @boundsFactory.bounds
    )

  onAttitude: (data) =>

        iconAnchor: [17.5, 17.5] # point of the icon which will correspond to marker's location
        popupAnchor: [0, -17.5] # point from which the popup should open relative to the inconAnchor
    @scope.vehicleMarkers[vehicleKey] = v
    @motionTracking(vehicleKey, {lat: lat, lng: lon})
    v

  updateVehicleMessage: (data) =>
    @scope.$apply(() =>
      # TODO: its really ugly and its doing nothing
      # (kevinh - if we receive a message before we know the vehicle loc just drop it because having a marker without a loc freaks out leaflet)
      vehicleKey = @vehicleKey(data.missionId)
      marker = @scope.vehicleMarkers[vehicleKey]
      if marker?
        # We merge the misc payload fields into one dictionary - showing the latest combination of all data
        angular.extend(marker.payload, data.payload)
        p = marker.payload
        marker.message = "User: #{p.userName}, summary: #{p.summaryText} - #{p.flightDuration / 60} minutes"
    )

  motionTracking: (vehicleKey, latlng) =>
    v = @scope.vehiclePaths[vehicleKey] ? { color: '#f76944', weight: 7, latlngs: []}
