chore(setup): add weakmap as dependency
feat(view): add view implementation