IO synchronization is managed twice
The I/O synchronization is currently manage twice: in beat.io and in beat.backend.python.
Since beat.io is common to any backend, it would be nice to only manage I/O synchronization in this package to keep the backends as simple as possible.