After struggling over a custom UIControl implementation for iOS, I decided to take a little time out to play and learn more about design patterns and approaches in Objective-C. This exercise was the basis for learning a great deal about how I approach the design of a solution, and I hope it will benefit my other developments.