title: When should a Class be part of a Module which primarily uses it?
body: <p>I'm creating a module which successively deletes points from a numpy array by dividing the point space using planes. The task is sufficiently complicated that I feel it would be easier to define the order and style of deletion using a new class, however I'm not sure if architecturally it's the best decision to include the class in the same module.</p>
  <p>I very much doubt the class would be used outside of the module, which leads me to think it would be appropriate to have it in the module. Is that the correct approach, and is this a well known problem with an obvious answer?</p>
  <p><strong>A little more information</strong>: The points are arranged in a regular array - like atoms in a crystal. Therefore, the class which defines how points should be deleted is essentially defining a macro shape or &quot;atomic grain&quot; for the underlying points. Is there a name for a class like that? In my mind &quot;definitional class&quot; seems to fit.</p>