       'Today':
         days: 0
 
+    # State our picker is currently in.
+    # Month and year affect the calendar.
+    _state: null
+
     constructor: (@options) ->
       @el = @options.el
       @$el = $(@el)
 
       @dateFormat = @options.format or @_defaultFormat
-    # Reads the value of the `<input>` field and set it as the date.
+      # Reads the value of the `<input>` field and set it as the date.
       if (dateStr = @$el.val())
         @date = @_parseDate dateStr
 

      @$monthAndYear = @$calendar.find '.wdp-month-and-year'
      @$window = $ window

    # Renders the widget and append to the `<body>`
    _initPicker: ->
      @$datepicker = $ WDP.template

      # e.g. 'today' -> sets calendar value to today's date
      @shortcuts = options.shortcuts or @_defaultShortcuts

      @_initState()
      @_initPicker()
      @_initElements()
      @_initShortcuts()
      @_initEvents()

    render: ->
      @_updateDateInUI()
      @_fill()
      return this

    show: =>
