Refactor CSObserver