Re-work observable types to descend from event subject