title: Split big classes into smaller ones
body: <p>I've having an issue splitting my main form/class into smaller parts. </p>
  
  <p>The main reason is because of the control events. I can't figure how it would be possible to make the class smaller since it consists of 20 controls (at least) with at least 3 events for each control.</p>
  
  <p>Even some methods I actually managed to move to a separate class they require to send the control as a method argument in order for them to be able to work as they were intended in the first place.</p>
  
  <p>A small example would be </p>
  
  <pre><code>public static bool GroupContainsSnippet(TreeView tree, string group, string snippetName)
  {
      bool result = false;
  
      if (tree.Nodes[group] != null)
      {
          result = tree.Nodes[group].Nodes.ContainsKey(snippetName);
      }
  
      return result;
  }
  </code></pre>
  
  <p>For some reason it just feels odd having to send the control in order to do that kind of things, so I'm hoping there is a more clearer way.</p>
  
  <p>Thanks in advance.</p>