code: def targets(self):
          
          if self._targets is None:
              self._targets = {}
              for key in self.procedures:
                  element = self.module.parent.get_executable(key)
                  if element is not None:
                      self._targets[key] = element
                  else:
                      self._targets[key] = None
                      msg.warn("unable to locate module procedure {}".format(key) +
                               " in interface {}".format(self.name))
  
          return [self._targets[key] for key in self.procedures]
docs: Provides an ordered list of CodeElement instances for each of the embedded
          module procedures in the generic interface.