For inserting and deletion of breakpoints a mechanism was added to Observation
to request suspension of the Proc before taking the actual action. There are 2
flaws with this mechanism. One in the design and one in the implementation.
The design is slightly wrong since it is currently checked at the Task level,
but should be checked at the Proc level and passed down to the Task level when
the Proc is in the right state.
The implementation for PtraceTask uses SIGSTOP, but takes action when a
StoppedEvent is attempted, NOT when the Task (which should be Proc, are rather
all the Tasks of a Proc, see above) is actually in the stopped state. All Tasks
of the Proc should be in the T (Z or X) state. Which can be achieved by actually
delivering the SIGSTOP or explicitly iterating over all the Task and get them
into traced (or stopped, zombie or dead) state.