Added CompositeCommand for combining commands, -restore should now be provided with a script name to restore before executing the script