Principles of Reactive Programming Assignment 3