There are two different ways to extend existing classes in Objective-C. Besides the
inheritance mechanism common to all object-oriented programming languages,
Objective-C also supports category. Category allows the developer to just extend the
behavior of a class without adding new data fields. It is also useful to divide the methods
of a class into several groups at the very beginning of the class design [2].