Refactor Constructors