Promise for cleaner deferred processing
branch check using hand-rolled Promise
transfer error handler for promises of promises
voyage using a promise too
sync ready, but off since fs.watch does not work