Just to understand what you had in mind: I guess file system should be loaded before the global object is constructed, so that it would make decisions based on whether FileSystem has been initialized instead of presence of brackets.fs. Perhaps, Global.js should expose an explicit init() which could be called from within bracket.js instead of initializing on module load as it is done now. Is it something along the lines of your thinking?