I finally had some time to revisit this post, and with some delay, rewrite the solution without the use of Parsley framework, as one of the readers requested in the comments section. To avoid increasing the length of the old post I created this separate one.
The old domain physics code remained untouched, so whatever caveats were there in place at the time of that writing are still there. What changed?
LaunchBarPM migrated into
LaunchBar became the skin
2. I moved the the glue code previously handled by Parsley into a
Controller class which is registering event listeners and on both
LaunchBarComponent (former custom managed events handled by Parsley) and forwards messages back and forth between them.
That’s it! Same visual results are below, view source is enabled for the new code: