safely wrap mutables

safely wrap mutables across async boundaries