Justus's brilliance is that he sheds complexity by simply ignoring it.
Yes, that is the way to do it. The complexities get simplified at the time the code is written. Unless they can't be simplified, and then the issue doesn't get solved.
No, that is not the way to do it at the conceptual design level. Doing so is the best way to ensure a completely counter-productive waste of time. Once a realistic end-goal is arrived upon then comes the phase of breaking a problem into it's more simple components and working on them. No wonder I cannot see eye-to-eye with almost anyone here!