feat(core): allow registration of custom validators
chore(demo): add demo for custom validator, clean up other demos