Hi,
I concur with Lane. I would use the behavior as is, it involves sufficient math to leave it as is instead of trying to make an fsm and a set of custom for this.
For learning purposes, this behavior is in my opinion already something for advanced users in terms of design.
However, I think it's important to cover also advnaced case, not just "hello worlds". Let me work on a proper set of actions and a sample to go on the ecosystem to do exactly this.
Bye,
Jean