This is ephemeral data and shouldn't be applied to the source object.  Instead, the sensible thing to do would be to add a second data object to the .trigger() call (you have to make your data an array then) and listen for it in modal_selector_controller.

Example here: ```that.element.trigger("modal:success", [obj, { map_and_save : $("#map-and-save").is(':checked') }]).modal_form("hide");```

And to handle it in modal_selector_controller:
```
, ".btn-add modal:success" : function(el, ev, data, options) {
.
.
.
if(options && options.map_and_save){
      self.on_map(self.element.find('.map-button'));
  }
```

Does that make sense?