Ok looking at your code, I guess the reason why you have that is that you are modifying a property inside the refreshRendering which trigger a second refreshRendering. Let me look at that in more details. Note however that refreshProperties() phase is supposed to deal with that reconciliating several properties like value and intermediate as you are doing here.