A little more refactoring + beforeAsync advice