complete refactor into smaller, simplified version with one knockout viewmodel, smaller test coverage and working sample