Some PEP8. Allow extra_context to be dict or list of two tuples. More tests.