Major rewrite:

 - remember last play-time
 - use explicit comparisons
 - avoid updating remote values willy-nilly