Use state_maching to manage track state -- playing, played, queued, skipped