Some of the additional features we want, such as #49, #66, and #69, might benefit from generic infrastructure to attach to a target process with ptrace(2) (if we have permission to do so) and then take some action with the attached process, such as executing a library call.