GameSession class with the constructor defined as private Location _currentLocation which is set using the property LocationAt method is non-nullable defined as LocationAt will return a Location and the backing field _currentLocation should be set by the CurrentLocation property in the constructor. Why does it still think currentLocation is null when exiting constructor?