Use instancetype and NS_DESIGNATED_INITIALIZER
Assert on access ID