I think the problem here is that you've introduced a new foo attribute with a different type. Even though the old attribute goes away in model 2, I guess it thinks this attribute in model 3 is supposed match up with the one in model 1. You can fix this by giving the new foo a renaming identifier so that it sees these are different.
Topic:
UI Frameworks
SubTopic:
General
Tags: