Ok, so I have spent way too much time on this already, but it is really bugging me! So, I have a page with a bunch of tabs on it. To keep things manageable, I want to turn each of those tabs into their own .zul page with their own ViewModel. I have implemented an `EventQueue` in order to pass the main object (the Tournament object) from the main page to all of the sup-pages.

The problem is, whenever the event is fired and it updates the Tournament object, the page will not refresh its data even though it has changed in the ViewModel. I have tried adding the `@NotifyChange` annotation with no success. While debugging, I have eliminated the extra .zul. See code below.

tournamentsTab.zul:

```
<tabpanel apply="org.zkoss.bind.BindComposer" viewModel="@id('bcvm') @init('com.cannon.tnt.trm.mvvm.BeltClassViewModel')">
  <vlayout vflex="1">
    <grid model="@load(bcvm.tournament.beltClasses)" emptyMessage="No belt ranks created yet." vflex="1">
        <columns>
          <column label="Name" align="center" width="200px"/>
          <column label="Description" align="center"/>
          <column label="Delete" align="center" width="120px"/>
        </columns>
        <template name="model">
           <row>
             <textbox value="@bind(each.name)" width="95%"  onChanging="@command('setStateEditing')"/>
             <textbox value="@bind(each.description)" width="95%"
                                         onChanging="@command('setStateEditing')"/>
             <button label="Delete" onClick=""/>
           </row>
         </template>
     </grid>
  </vlayout>
  <!--<include src="beltClassPanel.zul"/>-->
</tabpanel>

```

**BeltClassViewModel.java:**

```
public class BeltClassViewModel {

 private EventQueue eq;
 private Tournament tournament;

 @Init
 public void init() {
    eq = EventQueues.lookup("tournamentQueue");
    eq.subscribe(new EventListener() {
        public void onEvent(Event event) throws Exception {
            setTournament((Tournament) event.getData());
        }
    });
 }

 public Tournament getTournament() {
     return tournament;
 }

 @NotifyChange("{tournament}")
 public void setTournament(Tournament selectedTournament) {
     this.tournament = selectedTournament;
 }
}

```

As I mentioned, the `EventQueue` part is working perfectly. The event is being fired and then received by the listener who makes the call to set the tournament object on the view model. The problem is, the referenced tournament object is not being updated in the UI. I have put a break point in the getTournament() call and verified that the ONLY time that gets called is when the page first loads.

**PLEASE HELP!!!** I know that usually these things are just something stupid I'm overlooking. Please prove my idiocy! :)