<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def load_file(self, filepath):
 """ This function opens any type of a readable file and decompose the file object into a list, for each line, of lists containing splitted line strings using space as a spacer. Parameters filepath : :class:`str` The full path or a relative path to any type of file. Returns ------- :class:`dict` Returns a dictionary containing the molecular information extracted from the input files. This information will vary with file type and information stored in it. The data is sorted into lists that contain one feature for example key atom_id: [atom_id_1, atom_id_2] Over the process of analysis this dictionary will be updated with new data. """

        self.file_path = filepath
        _, self.file_type = os.path.splitext(filepath)
        _, self.file_name = os.path.split(filepath)
        with open(filepath) as ffile:
            self.file_content = ffile.readlines()

        return (self._load_funcs[self.file_type]())