The messiness isn't in the code; the messiness is in the execution model itself. However nice you may think your code is now, compared to the "pyramid", it's nothing on how nice it is when you write it in a language that has "asynchronousness" at its core, like Go.