Ported everything to knockoutjs.