func (pa *PodAggregator) Start(informChan <-chan watch.Event) {
	go pa.run(informChan)
}
Start initiates the aggregation logic and is executed as a goroutine which should be
stopped through a call to Stop
package await
import (
	"sync"
	"k8s.io/apimachinery/pkg/labels"
	"k8s.io/client-go/tools/cache"
	"github.com/pulumi/pulumi-kubernetes/provider/v3/pkg/await/states"
	"github.com/pulumi/pulumi-kubernetes/provider/v3/pkg/clients"
	"github.com/pulumi/pulumi-kubernetes/provider/v3/pkg/logging"
	"github.com/pulumi/pulumi/sdk/v3/go/common/diag"
	logger "github.com/pulumi/pulumi/sdk/v3/go/common/util/logging"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
	"k8s.io/apimachinery/pkg/runtime"
	"k8s.io/apimachinery/pkg/watch"
)
type PodAggregator struct {
	sync.Mutex
	stopped bool
	owner ResourceID
	checker *states.StateChecker
	lister cache.GenericLister
	messages chan logging.Messages
}
func NewPodAggregator(owner ResourceID, lister cache.GenericLister) *PodAggregator {
	pa := &PodAggregator{
		stopped:  false,
		owner:    owner,
		lister:   lister,
		checker:  states.NewPodChecker(),
		messages: make(chan logging.Messages),
	}
	return pa
}