Implement proper capturing
Extract MoveGen module from Base