text: var PATH = require('path');
  var express = require('express');
  var PORT = 8083;
  
  exports.main = function(callback) {
    try {
      var app = express();
  
      mountStaticDir(app, /^\/forge\/(.*)$/, PATH.join(__dirname, '../js'));
      mountStaticDir(app, /^\/test\/(.*)$/, PATH.join(__dirname, 'test'));
      mountStaticDir(app, /^\/mocha\/(.*)$/, PATH.join(__dirname, 'node_modules/mocha'));
      mountStaticDir(app, /^\/chai\/(.*)$/, PATH.join(__dirname, 'node_modules/chai'));
      app.get(/^\//, express.static(PATH.join(__dirname, 'ui')));
  
      var server = app.listen(PORT);
  
      console.log('open http://localhost:' + PORT + '/');
  
      return callback(null, {
        server: server,
        port: PORT
      });
    } catch(err) {
      return callback(err);
    }
  };
  
  function mountStaticDir(app, route, path) {
    app.get(route, function(req, res, next) {
      var originalUrl = req.url;
      req.url = req.params[0];
      express.static(path)(req, res, function() {
        req.url = originalUrl;
        return next.apply(null, arguments);
      });
    });
  }
  
  if(require.main === module) {
    exports.main(function(err) {
      if(err) {
        console.error(err.stack);
        process.exit(1);
      }
    });
  }
  