Task #40 - support applying attributes WIP (design established; partially implemented and tested)