     .on 'item', (options, next) ->
       updated = 0
       options.source ?= options.destination
-      do_read = ->
+      do_read_source = ->
         options.log? "Read source properties from '#{options.source}'"
+        # Populate org_props and, if merge, fnl_props
         properties.read options.ssh, options.source, (err, props) ->
           return next err if err and err.code isnt 'ENOENT'
           org_props = if err then {} else props

        return do_merge() unless options.default
        return do_default() unless typeof options.default is 'string'
        options.log? "Read default properties from #{options.default}"
        ssh = if options.local_default then null else options.ssh
        properties.read ssh, options.default, (err, dft) ->
          return next err if err

        options.source = null
        mecano.write options, (err, written) ->
          next err
      conditions.all options, next, do_read_source
    .on 'both', (err) ->
      finish err, configured
  result
