title: TypeError: oauth_callback() missing 1 required positional argument: 'self'
body: <p>I have abstract class SocialLogIn with method get_provider.</p>
  
  <pre><code>class SocialLogIn:
      def __init__(self, token, provider_name):
          self.id_token = token
          self.provider_name = provider_name
  
      def get_provider(self):
          module_name = 'oauth.{}'.format(self.provider_name)
          model = importlib.import_module(module_name)
          return inspect.getmembers(model, inspect.isclass)[0][1]
  
  </code></pre>
  
  <p>This method return class object class 'oauth.facebook.FacebookSignIn'. And this class object inherited from SocialLogIn :</p>
  
  <pre><code>class FacebookSignIn(SocialLogIn):
  
      def oauth_callback(self):
          return print('print')
  </code></pre>
  
  <p>But when i call method oauth_callback, I received TypeError.</p>
  
  <pre><code>provider = SocialLogIn(self.token, self.provider_name).get_provider()
  response = provider.oauth_callback()
  </code></pre>
  
  <p>In provider i get facebook class object.</p>
  
  <p>I try to make instance before calling oauth_callback and try super().<strong>init</strong>. But error still the same.</p>