No need for async commands in this case since the widget is running in its own thread, so it won't block the main thread or the web interface. @5paceManSpiff can you refactor to use a thread-local playerctl instance for the jscore functions?