no need to lock in parent styles
add factory method for defining new effects
stop storing mode in data