refactor(group): use nested states and menu