<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _timesheets_callback(self, callback):
 """ Call a method on all the timesheets, aggregate the return values in a list and return it. """

        def call(*args, **kwargs):
            return_values = []

            for timesheet in self:
                attr = getattr(timesheet, callback)

                if callable(attr):
                    result = attr(*args, **kwargs)
                else:
                    result = attr

                return_values.append(result)

            return return_values

        return call