changed history client to use observers