The current implementation of Playtrait::canPause() is missing a state check in my opinion.
I propose an additional check that _playState != PlayState.STOPPED since it makes no sense semantically to pause a stopped player. I know it seems like a minor thing but it actually resulted in confusing behavior in the ControlBarSample. When you hit the stop button it turns into a pause button. I think the added check is more natural behavior for canPause(). Thoughts, anyone?