public function __construct(AssetFactory $factory, $functions = array(), ValueSupplierInterface $valueSupplier = null) {
$this->factory = $factory;
$this->functions = array();
$this->valueSupplier = $valueSupplier;
foreach ($functions as $function => $options) {
if (is_integer($function) && is_string($options)) {
$this->functions[$options] = array(
'filter' => $options,
);
}
else {
$this->functions[$function] = $options + array(
'filter' => $function,
);
}
}
}