Reworked to use named attributes and dependency plugin updates