Add ObserverWithHistory and test for them