   # Monday to Friday.
   new cronJob('1 * * * * 1-5', checkStandups, null, true)
 
-  robot.respond /delete all standups for (.+)$/i, (msg) ->
-    room = msg.match[1]
-    standupsCleared = clearAllStandupsForRoom(room)
-    msg.send 'Deleted ' + standupsCleared + ' standups for ' + room
-
-  robot.respond /delete all standups$/i, (msg) ->
-    standupsCleared = clearAllStandupsForRoom(findRoom(msg))
-    msg.send 'Deleted ' + standupsCleared + ' standup' + (if standupsCleared == 1 then '' else 's') + '. No more standups for you.'
-    return
-  robot.respond /delete ([0-5]?[0-9]:[0-5]?[0-9]) standup/i, (msg) ->
-    time = msg.match[1]
-    standupsCleared = clearSpecificStandupForRoom(findRoom(msg), time)
-    if standupsCleared == 0
-      msg.send 'Nice try. You don\'t even have a standup at ' + time
-    else
-      msg.send 'Deleted your ' + time + ' standup.'
-    return
-
-  robot.respond /create standup (?:([A-z]*)\s?\@\s?)?((?:[01]?[0-9]|2[0-4]):[0-5]?[0-9])(?: UTC\+(\d\d?))?(?: in)?(.*$)/i, (msg) ->
-    day = msg.match[1]
-    time = msg.match[2]
-    utcOffset = msg.match[3]
-    location = msg.match[4]
-    room = findRoom(msg)
-    saveStandup room, day, time, utcOffset, location
-    /** TODO Continue from here. **/
-    msg.send 'Ok, from now on I\'ll remind this room to do a standup every weekday at ' + time
-    return
-
-  robot.respond /(?:list|show) standups$/i, (msg) ->
-    standups = getStandupsForRoom(findRoom(msg))
-    if standups.length == 0
-      msg.send 'Well this is awkward. You haven\'t got any standups set :-/'
-    else
-      standupsText = [ 'Here\'s your standups:' ].concat(_.map(standups, (standup) ->
-        if standup.utc
-          standup.time + ' UTC' + standup.utc
-        else
-          standup.time
-      ))
-      msg.send standupsText.join('\n')
-    return
-  robot.respond /(?:list|show) standups (?:for|in) every room/i, (msg) ->
-    standups = getStandups()
-    if standups.length == 0
-      msg.send 'No, because there aren\'t any.'
-    else
-      standupsText = [ 'Here\'s the standups for every room:' ].concat(_.map(standups, (standup) ->
-        'Room: ' + standup.room + ', Time: ' + standup.time
-      ))
-      msg.send standupsText.join('\n')
-    return
-  robot.respond /standup help/i, (msg) ->
-    message = []
-    message.push 'I can remind you to do your daily standup!'
-    message.push 'Use me to create a standup, and then I\'ll post in this room every weekday at the time you specify. Here\'s how:'
-    message.push ''
-    message.push robot.name + ' create standup hh:mm - I\'ll remind you to standup in this room at hh:mm every weekday.'
-    message.push robot.name + ' create standup hh:mm UTC+2 - I\'ll remind you to standup in this room at hh:mm every weekday.'
-    message.push robot.name + ' list standups - See all standups for this room.'
-    message.push robot.name + ' list standups in every room - Be nosey and see when other rooms have their standup.'
-    message.push robot.name + ' delete hh:mm standup - If you have a standup at hh:mm, I\'ll delete it.'
-    message.push robot.name + ' delete all standups - Deletes all standups for this room.'
-    msg.send message.join('\n')
-    return
-  return
+  # Global regex should match all possible options
+  robot.respond /(.*)standups? ?(?:([A-z]*)\s?\@\s?)?((?:[01]?[0-9]|2[0-4]):[0-5]?[0-9])?(?: UTC\+(\d\d?))?(.*)/i, (msg) ->
+    action = msg.match[1].trim().toLowerCase()
+    dayOfWeek = msg.match[2]
+    time = msg.match[3]
+    utcOffset = msg.match[4]
+    location = msg.match[5]
+    room = findRoom msg
+
+    switch action
+      when 'create' then saveStandup room, dayOfWeek, time, utcOffset, location, msg
+      when 'list', 'show' then listStandupsForRoom room, msg
+      when 'list all', 'show all' then listStandupsForAllRooms msg
+      when 'delete' then clearSpecificStandupForRoom room, time, msg
+      when 'delete all' then clearAllStandupsForRoom room, msg
+      else sendHelp msg
+    return
+
+return

    room

  # Stores a standup in the brain.

  saveStandup = (room, time, location, utc) ->
    standups = getStandups()
    newStandup =
      time: time
      room: room
      utc: utc
      location: location
      day: day
    standups.push newStandup
    updateBrain standups
    return

  # Updates the brain's standup knowledge.

  updateBrain = (standups) ->
    robot.brain.set 'standups', standups
    return

  clearAllStandupsForRoom = (room) ->
    standups = getStandups()
    standupsToKeep = _.reject(standups, room: room)
    updateBrain standupsToKeep
    standups.length - (standupsToKeep.length)

  clearSpecificStandupForRoom = (room, time) ->
    standups = getStandups()
    standupsToKeep = _.reject(standups,
      room: room
      time: time)
    updateBrain standupsToKeep
    standups.length - (standupsToKeep.length)

  'use strict'
  # Constants.

#   Have Hubot remind you to do standups.
#   hh:mm must be in the same timezone as the server Hubot is on. Probably UTC.
#
#   This is configured to work for Hipchat. You may need to change the 'create
#   standup' command to match the adapter you're using.
#
# Configuration:
#  HUBOT_STANDUP_PREPEND
