// TODO we should support different kinds of controller based on the kind of installation
// we could maybe discover a descriptor file to describe how to control the process?
// or generate this file on installation time?
File installDir = findInstallDir(rootDir);
ProcessController controller = createController(id, config, rootDir, installDir);
// TODO need to read the URL from somewhere...
Installation installation = new Installation(url, id, installDir, controller, config);
installations.put(id, installation);
return installation;
}