feature: world constructor accepts arrays of callback functions which can return promises

Resolves issue #26
Resolves issue #25