Questi sono più che altro i "soliti" aspetti di design delle classi. Che coinvolgono ovviamente i principi basilari della OOP più i design pattern. Quanto ne sai?
Male ... cioè è male lo static!
Il fatto che sia static comunque potrebbe anche dare, in teoria, il valore corretto. Ma non potendo vedere tutto il tuo codice, non posso certo dire se è così, se non è così per via di altre cose inappropriate/errate e come sistemare.
Ma non c'è niente di particolare da sapere .... in generale se passi dei parametri ad un costruttore, esso ha la possibilità di configurare il suo "stato" in base a tali parametri. Nel tuo caso, presumo, vai a creare o no certi menu/menu item. Non è quello il punto.