code: def output(self):
          
          task = self.task
  
          # get the directory where the control outputs are stored
          out_dir = self._get_task_attribute("output_directory")()
  
          # define outputs
          outputs = OrderedDict()
          postfix = self._get_task_attribute("output_postfix")()
  
          # a file containing the submission data, i.e. job ids etc
          submission_file = "{}_submission{}.json".format(self.workflow_type, postfix)
          outputs["submission"] = out_dir.child(submission_file, type="f")
          outputs["submission"].optional = True
  
          # a file containing status data when the jobs are done
          if not task.no_poll:
              status_file = "{}_status{}.json".format(self.workflow_type, postfix)
              outputs["status"] = out_dir.child(status_file, type="f")
              outputs["status"].optional = True
  
          # update with upstream output when not just controlling running jobs
          if not task.is_controlling_remote_jobs():
              outputs.update(super(BaseRemoteWorkflowProxy, self).output())
  
          return outputs
docs: Returns the default workflow outputs in an ordered dictionary. At the moment, this is the
          collection of outputs of the branch tasks (key ``"collection"``), the submission file (key
          ``"submission"``), and the status file (key ``"status"``). These two *control outputs* are
          optional, i.e., they are not considered when checking the task's completeness.