Problem is taht you still have some objects (Datetime, ArrayCollection) to set at construction, so you can't get rid of the constructor. That's why I'm in favor of setting everything in constructor, instead of constants in attribute definition, and objects in constructor.