refactoring notifyObserver code to GeometryManager