Move ivar to internal class extension property
use new NS_ENUM
Rely on autosynthesis
minimise use memory method calls for arc/mrc hybrid code
id to instancetype
modernize and symplify
bump version number