With permissions assertions to boot. Added a few arguments to start with. I may change how this is done but I likely won't change the user facing side.