Based on the description and on what we talked yesterday I believe this should just be:

    return self.components