Reworked internals to use Command::LiteralPayload instead of duplicating literal conversion code