Use instancetype keyword for factory methods
Use modern Objective-C syntax (array/dictionary literals)