             args        : undefined
             at_most_one : false     # ignores subsequent args if set -- only use this for things where args don't matter
             timeout     : TIMEOUT
-            cb          : required
+            cb          : undefined
         dbg = @dbg("_command(action:'#{opts.action}')")
 
         if opts.at_most_one

                        dbg("got new state -- #{@_state}")
                        @_update_state_db()
                        @_update_state_listeners()
                v = @_update_state_cbs
                delete @_update_state_cbs
                dbg("calling #{v.length} callbacks")



# obviously don't want to trigger this too quickly, since it may mean file loss.
AUTOMATIC_FAILOVER_TIME_S = 60*5  # 5 minutes

SERVER_STATUS_TIMEOUT_S = 7  # 7 seconds

# todo -- these should be in a table in the database.
DEFAULT_SETTINGS =
