     # is invoked at. It should be either an application build within
     # the framework or the framework itself (it can be launched all
     # by itself as a standalone). Please refer to the implementation!
+    # In terms of scalability - it starts both master and instance.
+    # It is different from `single` in that it continously spins it.
+    task "forever-single", "forever execute single task", (options) ->
+        assert col = process.stdout.columns or 80
+        assert forever = require "forever-monitor"
+        rep = (x) -> "single" if x is "forever-single"
+        parameters = _.cloneDeep process.argv, rep
+        assert parameters = _.drop parameters, 2
+        assert command = ["cake"].concat parameters
+        opts = env: process.env, cwd: process.cwd
+        assert _.isString opts.killSignal = "SIGINT"
+        assert monitor = forever.start command, opts
+        restart = ("-" for i in [0..col - 1]).join ""
+        monitor.on "restart", -> puts restart.red
+        process.on "SIGTERM", -> monitor.stop()
+        process.on "SIGINT", -> monitor.stop()
+
+    # This task launches an instance of application where this task
+    # is invoked at. It should be either an application build within
+    # the framework or the framework itself (it can be launched all
+    # by itself as a standalone). Please refer to the implementation!
     # In terms of scalability - it starts the master server istance.
-    # It is different from `boot` in that it continously spins it.
+    # It is different from `master` in that it continously spins it.
     task "forever-master", "forever execute master task", (options) ->
         assert col = process.stdout.columns or 80
         assert forever = require "forever-monitor"

    # is invoked at. It should be either an application build within
    # the framework or the framework itself (it can be launched all
    # by itself as a standalone). Please refer to the implementation!
    # In terms of scalability - it starts the master server istance.
    task "master", "bootstrap as the master server", (options) ->
        library = options.library or DEFAULT_LIBRARY

        assert _.isObject(compiled), "invalid library"
        conf = new Object master: no, instance: yes
        granite.cachedKernel(library).bootstrap conf
