Huuge refactoring:
- dropping existing Future implementation, landing new (better?) one
- adding reactive extensions