NodeJS async control flow

What style of control flow do you prefer? Using callbacks with a utility module, fibers, promises, generators with thunks or promises, or events and streams?
    This is a required question