>>If user does something, your code reacts to it and assigns the value to this property. You have a choice of bindevent() to the things user may do, or having an _assign method for this property etc. There are ways to avoid having the code in .refresh() doing any checking.
>
>I think I understand what you are saying (although I have not used bindevent() yet). But I am not convinced that having a code in the Refresh() method (the way I did it so far) is going to be a problem in the long run.
In the long run, it would be a problem only if it runs too long, too often :). Test on slow machines.