Minimal reactive data-binding