overhauled user creation to use promise chains to handle a flow of async work along the way to creating a user, registering with CIO, and then returning results/errors