I personally didn’t like that our ServerRow knew about the MainMenu. This would create a circular dependency! Plus, I think this row should really be self contain and reusable in different context.
For those reason, instead of giving the ServerRow a pointer to the MainMenu, I hadded a delegate in the row. The main menu can then simply bind itself on each row and get’s warn when a row is selected!
ServerRow:
MainMenu