'Filter a set by another.
Args:
cmdset_a (Cmdset): Cmdset acting as a removal filter.
cmdset_b (Cmdset): Cmdset to filter
Returns:
cmdset_c (Cmdset): B, with all matching commands from A removed.
Notes:
C = B - A, where A is used to remove the commands of B.'

def _remove(self, cmdset_a, cmdset_b):

    cmdset_c = cmdset_a._duplicate()
    cmdset_c.commands = [cmd for cmd in cmdset_b if (not (cmd in cmdset_a))]
    return cmdset_c
