     @getAllMachines().filter (vm) -> vm.machine.status.state is 'Running'
 
 
+  getMachineWithPredicate: (fn, predicate) ->
+
+    filtered = @getAllMachines().filter predicate
+
+    if filtered.length then filtered[0] else null
+
+
   fetchMachine: (identifier, callback) ->
 
     @fetchMachineBySlug identifier, (machine) =>

    data.shared        or= []
    data.collaboration or= []

    return data


  hasData: ->

      else callback data


  addTestMachine: (machine, workspaces) ->
    @_testMachine = { machine, workspaces }
    @revive()


  get: ->
    return @setDefaults_ globals.userEnvironmentData

