     @element.classList.remove(className)
     document.head.removeChild(@styleElement)
 
-  start: ->
+  start: ({delay} = {})->
+    clearTimeout(@displayTimeout)
+    if delay
+      @display = false
+      @displayTimeout = setTimeout =>
+        @display = true
+      , delay
+    else
+      @display = true
+
     if @value > 0
       @_reset()
       @_reflow()

      background-color: #0076ff;
      height: 3px;
      opacity: #{@opacity};
      width: #{@value}%;
      transition: width #{@speed}ms ease-out, opacity #{@speed / 2}ms ease-in;
      transform: translate3d(0,0,0);
    }

ProgressBarAPI =
  enable: ProgressBar.enable
  disable: ProgressBar.disable
  setDelay: (value) -> progressBarDelay = value
  start: (options) -> ProgressBar.enable().start(options)
  advanceTo: (value) -> progressBar?.advanceTo(value)
  done: -> progressBar?.done()

