Switched from passing pointers around to using numeric MenuIds and a factory class