title: Avoid too many arguments in a method
body: <p>I would like to know if there is a way to avoid to pass too many arguments to a method, currently I am passing 5, which I consider would make the code harder to maintain and less clean. In this case the method generic_column. 
  Currently passes 5 arguments but it might pass 8 or more.</p>
  
  <pre><code>class BranchBuilder(object):
      """docstring forBranchBuilder."""
      def __init__(self, raw):
          self.raw = raw
  
      @staticmethod
      def generic_column(size, posx, distance, raw=True,
                         color="red", complex=True):
          """Build the column according the needed requirements."""
      # creates column with arguments.
          return generic_column
  
      def builder(self):
          """Build the branch that contains all the columns."""
          initial_column = self.generic_column(3, 120, 66, raw=True,
                                               color="white", complex=False)
          mid_column = self.generic_column(3, 120, 66, raw=False, color="black",
                                           complex=False)
          last_column = self.generic_column(3, 120, 66, raw=False, complex=True)
  </code></pre>
  
  <p>I would like to found a way to make it easier to maintain and clear to any other person who has to deal with the code ahead.</p>