add ObersevableSet class and turned Brocker in an Observer