func NewNotificationCenter() *DefaultCenter {
	decisionNotificationManager := NewAtomicManager(logging.GetLogger("", "AtomicManager"))
	projectConfigUpdateNotificationManager := NewAtomicManager(logging.GetLogger("", "AtomicManager"))
	processLogEventNotificationManager := NewAtomicManager(logging.GetLogger("", "AtomicManager"))
	trackNotificationManager := NewAtomicManager(logging.GetLogger("", "AtomicManager"))
	managerMap := make(map[Type]Manager)
	managerMap[Decision] = decisionNotificationManager
	managerMap[ProjectConfigUpdate] = projectConfigUpdateNotificationManager
	managerMap[LogEvent] = processLogEventNotificationManager
	managerMap[Track] = trackNotificationManager
	return &DefaultCenter{
		managerMap: managerMap,
	}
}
NewNotificationCenter returns a new notification center
package notification
import (
	"fmt"
	"github.com/optimizely/go-sdk/pkg/logging"
)
type Center interface {
	AddHandler(Type, func(interface{})) (int, error)
	RemoveHandler(int, Type) error
	Send(Type, interface{}) error
}
type DefaultCenter struct {
	managerMap map[Type]Manager
}