maybe make a thread group for user calls, the priveliged methods will check if they are in the correct thread group (maybe the correct one is private member and added only on construction of folders) and if they are in the correct one then ok, but if not then an exception is thrown. as with getParentFolder so that they can only look into one folder or something? folder thing weirdness instead of having parent/children, have a directed graph, where you can have 2 types of arrows: 1) unprotected following (parent to chilren or back in normal case) 2) protected following (ui in program can, but modules cannot