Major refactoring, extracted the query compositions into a provider specific composer, so that identity scope as well as parameters are properly generated per provider (@, ?, :)