public override void Select(PuzzleObject obj)
 {
     obj.ChangeState(EditState.GetInstance());
 }
 public override void Deselect(PuzzleObject obj)
 {
     obj.ChangeState(StaticState.GetInstance());
 }