changed ICommand to ICommandWithResponse and kept ICommand for commands without a response.