When you use portals, events are hard to manage. I mean, some events will be fired twice or in an order that is not easy to guess. I don't really understand what the events cascading order is.
And when you have portals into portal things get worse.
I find myself writing quite a lot of code to solve that.
For example what I do is the put a lable outside the form (on the left) and set a text value into it when the event is fired (the text value represents the input of the method that will update the view).
If the same event is fired another time, I check the value of the label to determine if I should actualize the view of not.
I put this request in "feature request" because this is not a bug.
I don't have any good solution to give you but I wanted to let you know the difficulties I'm experimenting.