add to_unique helper
first draft for an observable whose values are generated by a thread