* chore: make scripted activity derived from activity this paves the way for other component being properly derived from the activity component * use a dirty flag instead * address feedback