Task 9: Websockets
Task 10: HTTP streaming with filtering and transformation
Task 10: A bit of refactoring to the solution suggested by the task itself