feat(promises): more refactoring