<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def decode_recvd(self, data):
 """ Decode and process the data from a received event. :param data: Data to decode and process. """

        bits = data.split(':')
        if len(bits) == 2:
            key = self.keycheck.sub('_', bits[0])
            fields = bits[1].split("|")
            field_count = len(fields)
            if field_count >= 2:
                processor = self.processors.get(fields[1])
                if processor:
                    if self.debug:
                        print "got key: %s %r" % (key, fields)
                    processor(key, fields)
                else:
                    print "error: unsupported stats type"
                    print "key -> %s\nfields ->%s" % (key, fields)
            else:
                print "error (%s): not enough fields received" % key
        else:
            print "error: invalid request [%s]" % data[:40]