code: func NewController(backend Backend, t *api.Task) (*Controller, error) {
  	spec, err := readSpec(t)
  	if err != nil {
  		return nil, err
  	}
  	return &Controller{
  		backend:   backend,
  		spec:      spec,
  		serviceID: t.ServiceID,
  		logger: logrus.WithFields(logrus.Fields{
  			"controller": "plugin",
  			"task":       t.ID,
  			"plugin":     spec.Name,
  		})}, nil
  }
docs: // NewController returns a new cluster plugin controller