Use "instancetype" keyword for constructors