| browser innerBrowser data | data := Dictionary new. data at: 1 put: 'Smalltalk'. data at: 2 put: '41 + 1'. innerBrowser := GTPlayground new. browser := GLMTabulator new title: 'Minimal test'. browser column: #keys; column: #values. browser transmit to: #keys; andShow: [:k | k list display: #keys ]. browser transmit from: #keys; to: #values port: #text; transformed: [ :key | GTPlayPage new content: (data at: key)]; andShow: [:code | code custom: innerBrowser ]. browser transmit from: #values port: #entity; from: #values port: #text; when: [ :key :text | text notNil ]; to: #values port: #nirvana; transformed: [ :key :text | data at: key put: text ]. "browser onChangeOfPort: #text act: [data at: key put: text ]. " browser openOn: data