Restarting song gives OnStop but not OnSongChange

I have been setting up my MOC player to submit the songs I play to last.fm, and have then started to use the OnSongChange and OnStop config options.

I have noticed that if I manually select and start a new song while MOC is playing, this triggers an OnStop event as well as an OnSongChange event (and the order my scripts are executed is not guaranteed). If I just play next song in MOC, I only get an OnSongChange event. I don't see the reason for this behaviour, but I can deal with it.

What's more confounding is that if I start the same song already playing again, I only get an OnStop event but no OnSongChange event, and my script will incorrectly think I've stopped playing music. This is a bummer.

I don't know who or if anyone's still taking care of MOC, but the forum seems to be a bit a live at least so I'll try posting. Thanks for reading!