When you create components that have some code quality control like code climate, bithound or something like that. There are plenty errors that you will found on your component, from code duplication to very specific details.
One of those rules is the class complexity.
So I came up with a simple solution but that has some key points to unlock some features (private methods with symbols and using a standard function to attach to the class prototype). It is not something trivial actually but not so hard neither. It consist on some easy to follow steps (on the example code, using the Babel plugin implementation for ES6 and ES5 compatibility):
That’s basically all! See this repo to take a look at a working source code.
Now you have a class in several files, small and self documented files with functions with reduced complexity.