Component-based menu;

ish