@anthracite I don’t even bother trying to format obj-C by hand, especially when www.fuckingblocksyntax.com is involved. I just write whatever and tell clang-format to fix it.
So far I haven’t convinced my one teammate on this project that the Builder pattern is probably a better choice than an initializer named initWithProductID:userInitiated:engineState:completedUpdates:failedUpdates:userTicket:systemTicket:metricsIDs:errors: or thereabouts.