and why tacking a callback to the end of a function is what people call async