Put userdata in the right place for editing.
Use domains to properly handle async errors.