add Recorder, add Composer.translate/validate