<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add(self, output, module, package=None):
 """ Add output to """

        super(Outputs, self).add(output, module, package)
        # only update layer info if it is missing!
        if output not in self.layer:
            # copy output source parameters to :attr:`Layer.layer`
            self.layer[output] = {'module': module, 'package': package}
        # instantiate the output object
        self.objects[output] = self.sources[output]()
        # register outputs and meta-data in registry
        out_src_obj = self.objects[output]
        meta = [getattr(out_src_obj, m) for m in self.reg.meta_names]
        self.reg.register(out_src_obj.outputs, *meta)