Added a base command for easier permission management.
Extracted file utility classes into it's own class.
Replaced some error messages with exceptions.
Added safety checks to make sure that files are actually in a (sub)folder.