<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def decompose(self):
 """ decompose CGR to pair of Molecules, which represents reactants and products state of reaction :return: tuple of two molecules """

        mc = self._get_subclass('MoleculeContainer')
        reactants = mc()
        products = mc()

        for n, atom in self.atoms():
            reactants.add_atom(atom._reactant, n)
            products.add_atom(atom._product, n)

        for n, m, bond in self.bonds():
            if bond._reactant is not None:
                reactants.add_bond(n, m, bond._reactant)
            if bond._product is not None:
                products.add_bond(n, m, bond._product)
        return reactants, products