You can always create properties to manage access of your module/class level variables- that way you can avoid overwriting by only allowing a Get. Unfortunately you can't create real Constructors to fully protect fields, but it's better than nothing.