I would like to see another constructor with all arguments given to make them final instead of providing setters. The only advantage of using setters here is that you may not mix arguments unintentionally.