                                         if p? and p.host == opts.host  # ignore updates from wrong host
                                             p._state      = mesg.state
                                             p._state_time = new Date()
+                                            p._state_set_by = socket.id
                                             p.emit(p._state, p)
                                             if STATES[mesg.state].is_stable
                                                 p.emit('stable', mesg.state)


start_server = (cb) ->
    winston.debug("start_server")
    async.series [read_secret_token, init_sqlite_db, start_tcp_server], (err) ->
        if err
            winston.debug("Error starting server -- #{err}")
        else

            host    : required
            mesg    : undefined
            timeout : 15
            project : undefined
            cb      : required

        dbg = @dbg("call(#{opts.host})")
