I'm torn on whether we should raise generic exceptions like this and refactor to raise explicit ones once we add error handling or if we should always raise specific exeptions, like PermissionDeniedException from the get-go.  What do you think?