I looked at the code and noticed that "ConnectingDirection" is not a property, it's a public member. So first thing, the naming convention is wrong. And second thing, exposing public data member is quite a bad idea, can we avoid that? If this should be read-only externally, then make it a read-only property, when you need to write to it from outside, then you should really question yourself very hard that why the access is required, is there any other way of doing the same thing without setting it externally? Think hard before simply allowing a public settable property. Does that make sense?