Added a CommandWithTerm Class

Added new CommandWithTerm Class similar to the CommandWithMeta Class.
Designed to reusable for different object types