Surface errors back to the user. Encode names so that e.g. spaces are handled