Use instancetype not id. Use ivars not accessors in init.

Implementing PR feedback.