Added command environments. Command environments allow command subsets to be loaded and unloaded at runtime.