Similar to _.result, but it passes additional arguments when the property is a method
function execute(target, prop, ...args) {
  return _.isFunction(target[prop]) ? target[prop](...args) : target[prop];
}