<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def _attr_data_(self):
        "Special property containing the memoized data."
        try:
            return self.__attr_data

        except AttributeError:
            self.__attr_data = type(
                ''.join([type(self).__name__, 'EmptyData']),
                (),
                {
                    '__module__': type(self).__module__,
                    '__slots__': ()
                }
            )()
            return self.__attr_data