work in progress: doing away with the attributeDidChange concept
finishing removing all instances of the attributeDidChange function