Designing a Reactive System