Some refactorings around Breakpoints
Rebased on !14416 (closed) and !14451 (closed) Pre-requisite for making step out better than in !14416 (closed)
This MR includes the refactoring only, not the changes which change behavior. Those will come up in yet another patch