/// The core trait for streaming indicators.
/// Every indicator maintains an internal state and processes data points one by one.
/// A trait for algorithms that smooth a series of values (e.g., SMA, EMA).
/// This allows indicators like SuperTrend or Keltner Channels to be generic over their MA type.
/// A trait for indicator configurations that can build their respective streaming state machines.
/// Blanket implementation for types that satisfy the SmoothingAlgorithm requirements.