fire changed event if attributes changed
fire change:key-name event
not fire if not value changed
added trigger args, not implemented