   getCallStack: ->
     return @callStack
 
-  runExecutable: ->
+  startExecutable: ->
     editor = levelsWorkspaceManager.getActiveLevelCodeEditor()
     editor.startExecution {runExecArgs: ['-d']}
     return
 
   stopExecutable: ->
-    workspaceView = atom.views.getView atom.workspace
-    atom.commands.dispatch workspaceView, 'levels:stop-execution'
+    levelsWorkspaceManager.getActiveLevelCodeEditor().stopExecution()
     return
 
   sendEnableDisableAllBreakpoints: ->

  handleStopping: ->
    @isReplay = false
    @autoSteppingEnabled = false
    @allControlsEnabled = levelsWorkspaceManager.isActiveLevelDebuggable()
    @emitStopped()
    if @positionMarker?
      @positionMarker.destroy()

    levelsWorkspaceManager.attachWorkspace workspace
    workspace.onDidEnterWorkspace => @handleWorkspaceEntered()
    workspace.onDidExitWorkspace => @handleWorkspaceExited()
    @handleWorkspaceEntered()
    return

  startDebugging: ->
    if !@isExecutableInDebuggingMode && @saveDocument()
      executor.startDebugger()
    return

  startExecutableAndConnect: ->
    @socketChannel.connect()
    @isExecutableInDebuggingMode = true
    @startExecutable()
    return

  stopDebugging: ->
