I've been trying to avoid this kind of coupling (drawer calling wavesurfer). WaveSurfer object was the glue that called both drawer and backend, while neither of these two knew about the other two. Is there a way to not getting the duration every time you update a region?