Description
Many users of Streams would want the following: let the Streams runtime to decide whether or not to materialize a state store; AND if it decides to do so, use the store name / serdes I provided ahead of time, if not, then nothing happens (the provided store name and serdes can just be dropped).
However, Streams today take `Materialized` as an indicator to enforce the materialization. We should think of a way for users to optionally decouple materialization enforcement from name/serde provider.