public IReactiveQubject <I, O> Create(Uri streamUri, object state)
            {
                if (typeof(I) == typeof(O))
                {
                    var res = new NotSoSimpleSubject <I>(_parent, streamUri);
                    _parent.AddArtifact(streamUri, res);
                    return((IReactiveQubject <I, O>)res);
                }

                throw new NotImplementedException();
            }
 public Subscription(NotSoSimpleSubject <T> parent)
 {
     _parent = parent;
 }