refactor to delegate to MoveValidator
betamon and deltamon and gammamon variants