A flexible data-binding library