material-motion-js
material-motion-js copied to clipboard
Consider using Symbol.species rather than proxies
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/species
This would clean up/DRY out the codebase (proxies is a bit of a hack), and provide a possible extension point for 3rd parties to create new derivations of MotionObservable. _multicast and _remember would use IndefiniteSubjects for multicasting, and return an instance of species subscribed to the subject to ensure callers have operators. The other operators would just use new this[Symbol.species] rather than new MotionObservable.
This is basically #194.