``` class Note(text: String? = null) { // ...
# tornadofx
h
Copy code
class Note(text: String? = null) {
    //    val id = UUID.randomUUID()
    val textProperty = SimpleStringProperty(text)
    var text by textProperty

}

class NoteModel(var note: Note) : ItemViewModel<Note>() {
    val text = bind(autocommit = true) {
        note?.textProperty
    }

}


class Store: Controller () {
    var notes = SortedFilteredList<Note>()

    fun addNote(note:Note) {
        notes.add(note)
    }
}



class someTable: Fragment() {

    val store: Store by inject()


    override val root = tableview(store.notes) {
        column("Text", Note::text)
    }
}

class MainView : View("Note App") {

    val store: Store by inject()

    override val root = vbox {
        this.setPrefSize(1024.0, 768.0)
        button("Add Note") {
            addClass(Styles.primaryButton)
            setOnAction {
                store.addNote(Note("Hello"))
            }
        }


        hbox {
            bindChildren(store.notes) {
                val note = NoteModel(Note(it.text))
                textfield(it.text)
            }
        }

        hbox {
            add(find(someTable::class))
        }
        
    }
}