message: Work for remove two-way bindings from Knockout. Use events from core
diff: @@ -5,14 +5,40 @@ import { QuestionFactory } from "survey-core";
  import { QuestionImplementor } from "./koquestion";
  import { Question } from "survey-core";
  +export class QuestionTextImplementor extends QuestionImplementor {
  + constructor(question: QuestionTextModel) {
  + super(question);
  + this.setCallbackFunc("koOnBlur", (_: any, event: any) => {
  + this.question.onBlur(event);
  + return true;
  + });
  + this.setCallbackFunc("koOnKeyDown", (_: any, event: any) => {
  + this.question.onKeyDown(event);
  + return true;
  + });
  + this.setCallbackFunc("koOnKeyUp", (_: any, event: any) => {
  + this.question.onKeyUp(event);
  + return true;
  + });
  + this.setCallbackFunc("koOnChange", (_: any, event: any) => {
  + this.question.onChange(event);
  + return true;
  + });
  + this.setCallbackFunc("koOnCompositeUpdate", (_: any, event: any) => {
  + this.question.onCompositionUpdate(event);
  + return true;
  + });
  + this.setObservaleObj("koReadOnlyValue", ko.computed(() => this.question.value));
  + }
  +}
  export class QuestionText extends QuestionTextModel {
  - private _implementor: QuestionImplementor;
  + private _implementor: QuestionTextImplementor;
  constructor(name: string) {
  super(name);
  }
  protected onBaseCreating() {
  super.onBaseCreating();
  - this._implementor = new QuestionImplementor(this);
  + this._implementor = new QuestionTextImplementor(this);
  }
  public dispose() {
  this._implementor.dispose();
  