Optional hash arguments, additional events tracking (layeradd, layerremove)