abstracted out behaviour of play sound