Updated JS to use Howler and use state vars