title: How to hide the constructor and "general" functions from individual objects?
body: <p>I'm looking for advice on the best way to structure my program. Here is what I have now, and the problems I see with the design:</p>
  
  <p>I have a class with a private constructor and a submit() method, to carefully control the objects created, and every object created is added to a global list. The program has several functions that perform "big" operations with the global list. Right now, they're inside the object class as static functions. This seemed to make sense, as they should be in a class, and they are obviously related to the objects. But it seems weird that whenever I access a property of an object, I'm also greeted by Intellisense with a list of these "big" functions, that while are associated, really shouldn't be called by an individual object: they act on the list of all the objects! But I can't think of another way to do it. Should I have a class called Operations and put them all in that? That seems too dissociative. Also, this way I'd still see the submit() method, which I can't remove from the class without declaring the constructor as public, which I don't want to do.</p>
  
  <p>Any ideas?
  Thanks!</p>
  
  <p>(sorry I wasn't sure exactly what to tag this, and I know there are many questions like it, but i've been puzzled for a while. Feel free to re-tag, edit, w/e! thanks again!)</p>