A guide to refactoring Objective-C code