Fundamentally it boils down to what can you change and what can't you change. Should an administrator have the capability of modifing transactional semantics? Should the administrator have the capability of determining how many things are going to give him pool? Maybe. Should an administrator have the ability to modify roles? Yes. Should an administrator have the capabilities that they need and should a programmer have the capabilities they need? So we want to make sure that there's a way of setting up the proper run time semantics separate from deployment semantics or administrative semantics.