shorter
add protocol file
closures to callback
add extension
add const
@objc
add transition