Boilerplate which avoids having to use generics. Instead of ObservableValue<Char>, use ObservableChar.
ObservableValue<Char>
ObservableChar