feat(viewFactory): initial working version of viewFactory