Restructure to put all the streaming code in one place.
Polish up bo->state before we unleash streaming