There are mainly three alternatives here:

- sync: blocking, code executed afterwards will have the pidfile
- async without callback: not blocking, code executed afterwards can't take the pidfile for granted
- async with callback: not blocking, code executed afterwards will have the pidfile, adds one more callback

Given the daemon is still starting and we're not blocking anything important it's a tradeoff between one more indentation level and a negligible performance hit.

What do you prefer?