Cleaned up the API and made it more dynamic. Instead of using a static array the data source method now returns an array depending on the current filter.
(Demo updated too of course!)