Add extra room for caching undo stacks
Make peek_move a member function in preparation for performance improvements