Metal update statements in writer classes

This exposes a decent API for packaging up multiple directives
(e.g. set, list append, etc.) into a single update statement.