Fixes #72 more flexible validation callback + add valueSetter callback