Typescript Multiple Constructors