       button = $ element
       @buttons[button.data('button')] = button
 
-  setTitle: (title) =>
-    $('.modal-title span', @modal).html title
+  setTitle: (title, { icon } = {}) =>
+    if icon
+      $('.modal-title span', @modal).html "#{Fustrate.icon icon} #{title}"
+    else if @constructor.icon and icon isnt false
+      $('.modal-title span', @modal)
+        .html "#{Fustrate.icon @constructor.icon} #{title}"
+    else
+      $('.modal-title span', @modal).html title
 
   setContent: (content) =>
     $('.modal-content', @modal).html content

        display: 'none'
    _cachedHeight: undefined

  constructor: ({ title, content, settings } = {}) ->
    @modal = @constructor.createModal()
    @settings = $.extend true, @constructor.settings, (settings ? {})
    @settings.previousModal = $()

    @setTitle title
    @setContent content

    @_reloadUIElements()

class Fustrate.Components.Modal extends Fustrate.Components.Base
  @size: 'tiny'
  @type: null
  @icon: null
  @title: null

  @fadeSpeed: 250

