add some tests to state progress monitor, tweak provider's watch function