title: Static method returning an instance of its class
body: <p>Is it possible for static method of a class to return a new instance of its class.  </p>
  
  <pre><code>class Foo(object):
      @staticmethod
      def return_new():
          "returns a new instance of the class"
          new_instance = ???
          return new_instance
  </code></pre>
  
  <p>I want it so any subclass of Foo will return the subclass rather than a Foo instance. So replacing ??? with Foo() will not do.</p>