Stolen and Untested

- Attempt at a thread-safe observable aggregate root entity (except for
the async bits, why would we ever need this?) based on code in
BehaviorSubject<T> of Rx fame.