A flexible, reactive, client-side web framework