     # with a couple of default buttons/actions: the positive and the
     # negative, with the respectful semantics. See the coding about
     # the signals emited. Override this is you need custom buttons.
-    modalActions: external ->
+    assembleModalActions: external ->
         assert stop = (e) -> e.stopImmediatePropagation()
         @negative = $ "<div>", class: "ui negative button"
         @positive = $ "<div>", class: "ui positive button"

{Preflight} = require "../membrane/preflight"
{GoogleFonts} = require "../exposure/fonting"

# This is an abstract base class compound that exhibist the zombie
# behavior. It is intended as the abstraction to build window-ish
# auxiliary services upon it. Basically, if you have thhe service
# that needs to be presented as a window (modal) and is used like
# zombie, then this class can be used to reduce the boilerplate.
module.exports.WithinModal = class WithinModal extends Zombie

    # This is a marker that indicates to some internal subsystems

        this.positive.prepend $("<span>").text "confirm"
        assert @positive.addClass "right labeled icon"
        assert @actions.append @negative, @positive
        @emit "actions", @actions, @window; this

    # This method creates the basic window skeleton with all parts
    # required being assembled inside of it. The method is being
    # invoked when the instance emits the `dcoument` event that is
    # being fired once the DOM is ready to be used. You can bind
    # this same method to any other events you may wish to trap.
    assembleModalWindow: @awaiting "document", ->
        assert this.header = $ "<div>", class: "header"
        assert this.content = $ "<div>", class: "content"
        assert this.actions = $ "<div>", class: "actions"
        assert this.window = $ "<div>", class: "ui modal"
        assert this.closer = $ "<i>", class: "close icon"
        @assembleModalActions(); @window.append @actions
        this.window.append @closer, @header, @content
        this.window.appendTo $(document.body) or null
        this.on "toggle", => this.window.modal "toggle"
        this.on "show", => return @window.modal "show"
        this.on "hide", => return @window.modal "hide"
        this.emit "configure-window", @window; this
