       dibs: [barista],
       messageMetadata: msg.envelope.message.metadata,
 
+    robot.brain.save()
+
     msg.send "@team Brew started by @#{brewing.barista}! #{statusEmoji.random('success')}\n" +
       "To grab a spot use: #{robot.alias}dibs\n" +
       "To end the brew use: #{robot.alias}fresh pot"


    claims = []
    for i in [1..dibsLimit]
      claims.push if (dibber = brewing.dibs[i-1])
        "@#{dibber}#{if dibber == brewing.barista then ' (barista)' else ''}"
      else
        "Unclaimed!"

    threadMsg = threadedMsg(msg)
    threadMsg.send "#{if teamNotify then '@team: ' else ''}Fresh Pot!!! #{msg.random freshPots} " +
      ":coffee: Claims (valid until #{dateformat expiry, 'h:MM:ss tt'}):\n" +
      (" • ##{(parseInt index)+1}: #{claim}" for index, claim of claims).join("\n")


    if claims.length
      setTimeout ->
        threadMsg.send "Claims have expired!"
      , dibsDuration*1000

    brewing = {}

  freeSpots = ->
    remaining = dibsLimit - brewing.dibs.length
    "#{remaining} dib#{if remaining == 1 then '' else 's'}"

#   hubot fresh pot - Announce that a pot is finished
#   hubot fp - Alias for: hubot fresh pot
#   hubot dibs - Reserve your spot in line for a current brew
#   hubot :coffee: balance [user] - Check your coffee balance (defaults to you)
#   hubot :coffee: top [n] - See the top coffee balances (defaults to 10)
#   hubot :coffee: bottom [n] - See the bottom coffee balances (defaults to 10)



# water = 3/16 * cups
