id -> instancetype
Remove superfluous @synthesize's
Use NS_ENUM macro