Not sure about 'super clean'. So far ES6 classes are causing people to write lots of OO cruft resulting in [flabby code](https://github.com/zenorocha/clipboard.js/blob/master/src/clipboard.js).
e.g the `resolveOptions` method (which is public for some reason), or the weird decision to expose the defaults it uses as public.
All the cruft in that file was written to get access to the objects 'state'. Sadly it's completely stateless. The whole thing could have be rewritten much, much more cleanly as a function call.