GameSession, PlayerProfile, GameWorld, StepManager, and FragmentManager are all singleton classes that need their instance fields replaced with read-only properties to prevent unintentional overwriting.
For example, in StepManager, we should do the following:
// Replace
public static StepManager instance = null;
// With
public static StepManager Instance { get; private set; }