a proper_value_function does not have to be copy-assignable
filter_observable has a default constructor