Implementing Watermark-Based Windowing in Streaming Pipelines: Tumbling, Sliding, and Session Windows | Wicked Smart Data