An idiomatic Scala implementation of .NET's Reactive Extensions