@dangoor I'm wondering if we should just make disabledDirectory required...  It seems like if one of the standard codepaths will always throw an error without it, it'd be nicer just to make it a required parameter and dispense with the two copies of this code that guards against it being missing.

It seems like apiVersion shouldn't be optional either... unless we're trying to generalize this code to run in some app other than Brackets, it seems safe to assume that install() can always get an API version for context.  (Not true of validate() when it runs on the server, of course, but install() seems ok to assume it's running against an actual app).