return { "addStateListener": (callback) => { states.addStateListener("search", callback); }, "removeStateListener": (callback) => { states.removeStateListener("search", callback); }, "getState": () => { return states.search; }, "undoState": () => { states.undoState("search"); }, "changeEventListener": (newEvent) => { changeEvent.call(searchInput, newEvent); } };