visible is not carried over in instance_change. Also, craete() is called after the defaults are set (it can override them).
Merge pull request #879 from sorlok/instance_change_fix

Fixes for instance_change.