pseudo-race condition connecting the callback here, but calling the recording function later .. (see other comments  re: callback /state)