This statement on the knockout.js website screams poor design to me. Data and behavior should not be mixed.
"By encapsulating data and behavior into a view model, you get a clean, extensible foundation on which to build sophisticated UIs without getting lost in a tangle of event handlers and manual DOM updates."
>Did you look into knockout.js for user interface?
Craig Berntson
MCSD, Microsoft .Net MVP, Grape City Community Influencer