Previously, I had written my thoughts about table components at this thread.
Have a look at this demo page of ember-contextual-table. Without passing columns as a configuration object, isn’t it clear enough? You can also read the README file of the project.