Simulating multi-tape turing machines by single-tape TM
You can simulate a state machine with set of states $S$ and registers $R_1,\ldots,R_m$ varying over a finite alphabet $\Sigma$ using a vanilla state machine whose set of states is $S \times \Sigma^m$. You "store" a value $x$ in register $R_i$ by transitioning to a state whose $(i+1)$'th element is $x$. You "read" a value from $R_i$ by taking into account in your transition table the $(i+1)$'th element of the current state.

This is the sense in which $\hat{M}$ has registers – their contents are stored in the state of the machine. Here it is crucial that both $k$ and the tape alphabet are fixed and finite.