experimenting with 'reactive' gui components