Data updates

This PR contains PR #4 #5 #6 plus some changes to allow dynamic data updates
Yeah, the problem though is with the right before if you think of javascript hoisting :-) But I feel the same with this sometimes. It just looks ugly :-) What if we instead declare the barData as closure local? var barData = {...}; this.barData = barData; So we can refer to the closure local in the timer?