factory for building JavaScript objects with async support, mostly useful for setting up test data. Inspired by rosiejs