```null``` represents the default *settings.json* file. ```local``` indeed should happen after enviroment settings. Perhaps we could make multi-environement locals too, like *settings.development.local.json*. This way the *settings.local.json* file would make it easier to define local settings shared between different process environements, for when you want to test the program as in ´´´development``` or ```production``` but locally.

About the ```process.env.NODE_ENV```, although it's set upon starting the application (and should continue there, so that other validations across the application could rely on it), the ```Server.prototype.addApplication``` is available to run in other circumstances, is it not? I know it would probably result in bugs, but perhaps there are some cases (e.g. for testing) that you would intend to run this method without running start before it. In this case, ```process.env.NODE_ENV``` might be undefined.