Some more work on when properties can be changed.  Not working properly when ensure is changing... think perhaps the ensure property should also be changed during flush