clean up internal set API, avoid copying context message needlessly