<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def parse(self, text):
 """Parse the string `text` and return a tuple of left over Data fields. Parameters text : str A string to be parsed Returns ------- result : tuple A tuple of left over Data after processing """

        self._parsed_list = []
        self._most_recent_report = []
        self._token_list = text.lower().split()
        modifier_index_list = []
        for item in self._token_list:
            
            if(self._is_token_data_callback(item)):
                self._parsed_list.append(self._clean_data_callback(item))
                
            if item in self._tasks:
                d = {}
                d['context'] = self._tasks[item]['context']
                d['rule'] = self._tasks[item]['rule']
                d['task'] = item
                self._parsed_list.append(d)

            if item in self._modifiers:
                modifier_index_list.append((len(self._parsed_list), item))

        self._apply_modifiers(modifier_index_list)
        return self._evaluate()