Make the extensions API easier to use by accepting openid.extension.Extension objects instead of extension_args tuple list
diff --git a/flask_openid.py b/flask_openid.py
index da5c782..cf648d9 100644
--- a/flask_openid.py
+++ b/flask_openid.py
@@ -489,7 +489,7 @@
             return redirect(self.get_current_url())
         return decorated
 
-    def try_login(self, identity_url, ask_for=None, ask_for_optional=None, extension_args=None):
+    def try_login(self, identity_url, ask_for=None, ask_for_optional=None, extensions=None):
         """This tries to login with the given identity URL.  This function
         must be called from the login_handler.  The `ask_for` and 
         `ask_for_optional`parameter can be a set of values to be asked
@@ -502,6 +502,11 @@
         ``fullname``, ``gender``, ``icq``, ``image``, ``jabber``, ``language``,
         ``msn``, ``nickname``, ``phone``, ``postcode``, ``skype``,
         ``timezone``, ``website``, ``yahoo``
+
+        `extensions` can be a list of instances of OpenID extension requests
+        that should be passed on with the request. If you use this, please make
+        sure to pass the Response classes of these extensions when initializing
+        OpenID.
         """
         if ask_for and __debug__:
             for key in ask_for:
@@ -515,9 +520,9 @@
             auth_request = consumer.begin(identity_url)
             if ask_for or ask_for_optional:
                 self.attach_reg_info(auth_request, ask_for, ask_for_optional)
-            if extension_args:
-                for namespace, key, value in extension_args:
-                    auth_request.addExtensionArg(namespace, key, value)
+            if extensions:
+                for extension in extensions:
+                    auth_request.addExtension(extension)
         except discover.DiscoveryFailure:
             self.signal_error(u'The OpenID was invalid')
             return redirect(self.get_current_url())