added an Observer pattern for updating server mode