Added class diagram
Modified class diagram
First functional version of the callback-based implementation