Controlling Module Authority Using Programming Language Design