transcode: replace redundant constructor logic with methods