Refine the signatures of the interface functions, most notably the target control functions, e.g., SingleStep(). Also remember to define its semantic, i.e., whether it should return immediately, or it should return when the target stops for the first time.