#107 make Recorder API use typed parameters