Migrate Promise methods to when/watch/wait