private void execute(final Runnable runnable) {
        backgroundThread.scheduleDirect(() -> {
            synchronized (mutex) {
                runnable.run();
            }
        });
    }
Represents and manages one audio file or tone
main/src/main/java/cgeo/geocaching/utils/AudioManager.java