Introducing Objectcharts or how to use Statecharts in object-oriented design | Synapse