I suggest making these final and removing set methods.  Require everything to be passed into constructor.