fixes the way capability dependencies are started

Previously if a capability was started, it tried to start the capabilities it depends on without checking to see if they are already running.