I don't believe in final solutions anymore. We live in a time of great changes and that's what I like in JS most. However, I do believe in reliable framework-agnostic patterns which born as enthusiastic experiments and then grow into enterprise standards. HTML Components is a great idea, but JS Components is even better. Developing all in one place using one syntax is our future. JS is a great way to achieve that. If you ask me about Fela, I would say that it is the best for my practical purpose: syntax, customization, performance, ecosystem and what is more important - the vision of the author and core contributors. They do care about performance (and a lot of other popular solutions actually don't). I put a bet on Fela, but even if it will fail (I really hope it won't)...well...it won't be a problem to switch because CSS as JS Object will remain as one of the main patterns for years. Remember this comment ;)