Best practice for manipulating workspace on behalf of the user - Coder.com