Note:unfortunaltely SC garbage collection makes it hard or inefficient to have
weak arrays, which would make this system much more safe (currently
there is no way to determine whether a reference is still needed or not)
in a controlled environment, it could serve as a start for a reference system though.
subclasses could allow certain uses, like embedding in streams, or playing on the server
one reference could be used to serve multiple uses at once (useful for buffers, for example)
this is still experimental, but might serve as inspiration