stream_wrap: use getters, not direct field access