Extensions Interface

Here goes then. Apologies for anything that breaks, but this may be the last time we have such experimentation on the master branch. At least it gives us a couple of weeks to iron stuff out ;-)