At the moment there are a couple (maybe more) of issues with reactive that make it basically unusable for this kind of project:
1) The way that unambiguous choice works is still not settled, every time someone thinks they have it right, some other little sneaky git of a detail comes up and shows it to be incorrect. There's been some progress recently on getting this right.
2) The snapshot, mappend and join functions on events currently block in inconvenient ways with certain inputs. This doesn't sound like a major problem, until you discover it's the *useful* inputs that they block on. This issue is just a matter of getting lazyness right, unfortunately, various people have tried to get the lazyness right over the past year or so, and no one has yet succeeded. If you were to get it right, I would be extremely happy.
A final note:
From past conversations with conal, I believe he's in the process of migrating reactive to a different license because he wants to make sure that while it remains open he still gets paid for its use in industry. You'll have to check this with conal though.
Bob