Simplify Waterfal (Refactoring only)

Waterfall#asyncCount is not needed since the functions alway
run in order. This reduces needed code weight by a significant
margin. Trampolining in the tail call will be elementary if
reduced stack size is deemed worth the added complexity.