leverage Destroyable.defer() in Invalidating and add a test case
to verify refresh is not called after destroy