don't define property in trait, and update logic accordingly
update changelog
add castOnSet property
inc version