Initially, these should only need to check if the specified directory exists (or can be made to exist) and is writeable. Interesting corner cases: what happens if commpath is underneath cachepath or vice versa?