     return true if typeof cPath is 'object' and cPath.processes and cPath.connections
     return false unless typeof cPath is 'string'
     # Graph file path
-    cPath.indexOf('.fbp') isnt -1 or cPath.indexOf('.json') isnt -1
+    return cPath.indexOf('.fbp') isnt -1 or cPath.indexOf('.json') isnt -1
 
   # Load a graph as a NoFlo subgraph component instance
   loadGraph: (name, component, callback, metadata) ->
     @createComponent name, @components['Graph'], metadata, (err, graph) =>
-      return callback err if err
+      if err
+        callback err
+        return
       graph.loader = @
       graph.baseDir = @baseDir
       graph.inPorts.remove 'graph'
       graph.setGraph component, (err) =>
-        return callback err if err
+        if err
+          callback err
+          return
         @setIcon name, graph
         callback null, graph
       return

    return '' unless name
    return '' if name is 'noflo'
    name = name.replace /\@[a-z\-]+\//, '' if name[0] is '@'
    name.replace /^noflo-/, ''

  # Get the list of all available components
  listComponents: (callback) ->


  setLibraryIcon: (prefix, icon) ->
    @libraryIcons[prefix] = icon
    return

  normalizeName: (packageId, name) ->
    prefix = @getModulePrefix packageId
    fullName = "#{prefix}/#{name}"
    fullName = name unless packageId
    return fullName

  # ### Registering components at runtime
  #
