As expected by the property getter.
Basically there are cases where we can be getting the source from
any thread and in another thread bring back the element from PAUSED
to READY, which leads to a critical warning (or worse).
The only place where we use `->source` outside the property getter is
the change_state function so the current way of setting/reading it
should be safe.