Move the recorder back out to a separate package