So much code is written around “OMG what if something changed?” rather than redesigning/reworking it so you know exactly when things change. And so much of it ends up shoved into viewWillAppear().