I don't recommend copying Horrocks' designs. He hardcodes in entry/exit guards and actions. This is a brittle design.
The nice thing about the Silverlight approach is that you can store the object model in a "stylesheet". Unfortunately, because it doesn't use a functional reactive programming model, it can't merely recompute the differences. There is also two other flaws with the Silverlight model, but on the whole I like it much better than other models.