fix for #926.  ISetCommand::create takes reference instead of pointer so that creation can be inline