adding observer pattern in clientSubscriber