add facade design pattern to game rule