code: def matchSubset(**kwargs):
          
          ret = []
          for m in self.matches:
              allMatched = True
              for k,v in iteritems(kwargs):
                  mVal = getattr(m, k)
                  try:
                      if v == mVal or v in mVal: continue # this check passed
                  except Exception: pass # if attempting to check __contains__ and exception is raised, it's assumed to be false
                  allMatched = False
                  break
              if allMatched: ret.append(m)
          return ret
docs: extract matches from player's entire match history given matching criteria kwargs