They're also environment-agnostic; they require zero special runtime features (not even ES6 Promises, any A+ implementation is fine!), and are realistically implementable from scratch (and from spec) even in a library-less environment - all you need are a bunch of object literals with 3 functions each that have some defined behaviours, basically - the system as a whole is just emergent from those properties
For those who are curious, here's a work-in-progress draft of the spec so far: https://gist.github.com/joepie91/9ced67203070051be70c2ae0cd644a30