Output format plugin

This is early work. I just wanted you to have a peek to the direction this is turning into.
This seems wrong (not because of you -- because of my previous change). getUrl() should get the $request