   Static class or instance for the following DrawableGameComponent?
  I've coded an effect manager class that essentially does all the batch drawing of the models and primitives.  This class holds all the effects and textures which are loaded automatically by making it a DrawableGameComponent.The problem I'm facing is that I am only ever going to need one instance of this class and that it should be accessible from all other classes that intend to draw.Should I make the entire Effect_Manager class static, or should I create a singleton instance in the class?   public static Effect_Manager Instance { get; private set; }   public Effect_Manager(Game game)   : base(game)   {  if (game == null)  { throw new ArgumentNullException("game");  }  Instance = this;   }Which method would you go for and why?  Or would you use another method entirely?   