Extracting Command interface to ease extensibility