async = require('async') widgets = require('../widgets/widgets') exports.remove = (name, confirmAttribute, deleteFunction, outerCallback) -> async.waterfall([ (callback) -> if confirmAttribute return callback(null, true) widgets.confirmRemoval(name, callback) (confirmed, callback) -> return callback() if not confirmed deleteFunction(callback) ], outerCallback)