Does create_stream update the configuration if the stream already exists? What about create_consumer?
In my (limited) experience when an application owns a stream or a consumer, it may want to create it when connecting to it if it doesn't already exist, and to update its settings if it exists but, say, max_deliver is different.