func NewObserver() Observer {
	o := observerI{
		control: NewControl(),
		state:   NewState(),
	}
	return &o
}
NewObserver returns an implementation of the observer interface
package observer
import (
	"sync"
)
type Observer interface {
	Notify(interface{})
	Subscribe() Subscriber
	Control() control
	Close()
}