protected virtual Boolean AddMovement(Movement move) { validMovements.Add(move); return true; }
protected virtual Boolean AddCapture(Movement move) { validCaptures.Add(move); return true; }