‘Functions need to do one thing’-mantra is wrong.
Since Robert C. Marting wrote the book Clean Code, developers try to implement the guidelines from that book.
One of them is to write Small focused functions.
Please stop doing that!
Don’t let me go through multiple hierarchies of small functions like a detective to understand what is happening.
It’s ok for functions to be 20-30 lines, it’s small enough. If it is clear, don’t split the logic up.
You don’t need to hide everything, resist the urge 😉.