docs: function (callback) {
                  var self = this;
                  flow()
                      .seq(function (cb) {
                          self.$handlers.stop(function () {
                              // ignore errors during stop
                              cb();
                          });
                      })
                      .seq(function (cb) {
                          self.$authenticationService.stop(function () {
                              cb();
                          });
                      })
                      .seq(function (cb) {
                          self.$filters.stop(function () {
                              // ignore errors during stop
                              cb();
                          });
                      })
                      .seq(function (cb) {
                          self.$endPoints.shutdown(function () {
                              // ignore errors during shutdown
                              cb();
                          });
                      })
                      .exec(function (err) {
                          callback && callback(err);
  
                          process.stdin.end();
                      });
              }