     logger.info("No deployment targets for selector #{@settings._selector}", @) unless targets.length
     targets
 
-
-
   getPublicData: ()=>
-    clone({
+    assign(clone({
       ship         : @ship
       organization : @organization
       platform     : @platform
       settings     : @settings
+    }), {
+      onUpdate: (@onUpdate || ->)
     })
 
   getDeploymentStrategy : ()=>

  ###*
   * Fetches all targets specified in a deployment
   * @param  {object} opts options object. opts.refresh = true|false // Force Refresh
   * @return {Nodes Array} A memoized array of Nodes matching the Query Selector (this.targets) 
  ###
  getTargets : (opts={})->
    return @targets if @targets and !opts.refresh

    if @targets.length
      @getDeploymentStrategy().destroy()
      @deploymentStrategy = null

module.exports = Deployment
