semanticSwitch is initalised with new so should be SemanticSwitch.
lowercase isn't allowed for these reserved keywords so I feel uppercase is less confusing.  We could look at using different words if they could be more semantic.