GUI logic fix: inheritance -> composition