feat(core): implement support for custom validators.

Signed-off-by: Johny Jose <johny@playlyfe.com>
feat(core): implement complete support for default values.

Signed-off-by: Johny Jose <johny@playlyfe.com>