known as Automatic Reference Counting. ARC is a compiler-level feature that
simplifies the process of managing the lifetimes of Objective-C objects.
Instead of you having to remember when to retain or release an object, ARC
evaluates the lifetime requirements of your objects and automatically inserts
the appropriate method calls at compile time.