Why setters as opposed to everything set via a constructor. Perhaps a builder is also required...