code: func (imageState *ImageState) MarshalJSON() ([]byte, error) {
  	imageState.lock.Lock()
  	defer imageState.lock.Unlock()
  
  	return json.Marshal(&struct {
  		Image         *Image
  		PulledAt      time.Time
  		LastUsedAt    time.Time
  		PullSucceeded bool
  	}{
  		Image:         imageState.Image,
  		PulledAt:      imageState.PulledAt,
  		LastUsedAt:    imageState.LastUsedAt,
  		PullSucceeded: imageState.PullSucceeded,
  	})
  }
docs: // MarshalJSON marshals image state