Begin factoring processing into promises