I'd propose to give the SelectModes constructor a reference to an Entities pointer. In some cases, a readily initialized Entities pointer might not be available when constructing SelectModes, but this way the pointer can still be initialized at a later point in time.