<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_root( self, key ):
 """Retrieve a given declared root by root-type-key"""

        if key not in self.roots:
            function = getattr( self, 'load_%s'%(key,) )()
            self.roots[key] = function
        return self.roots[key]