The thing to follow is that you shouldn't build a tower of babel abstraction stack but a limited number of clearly defined abstractions. It's ok if you go deeper than 4 in some cases but these things should then already be pretty low level.
Too deep a stack will lead to code "scavenger hunts" when you want to figure out what something does.
Too deep a stack will lead to code "scavenger hunts" when you want to figure out what something does.