Data handler now supports `with` context control; use this while you're modifying it and it'll save automatically (it has a mutex as well). Permissions checking function is also done.