Implement re-factored menu component