Allowing to pass capabilities as JSON object, merging default capabilities with user defined capabilities

Allowing to pass capabilities as JSON object
Merging default capabilities with user defined capabilities
Refactoring capabilityManager
Removing "clone" and adding "underscore" as dependency