Refactor to reduce Debugger dependencies

Instead of inheriting from Debugger classes, let's move everything
Debugger-specific to the adapter object, so we could easily substitute it
with another adapter in case we change Debugger to e.g. Byebug