Use generic JavaScript widgets in Knockout, and create generic widgets using Knockout