refactor(widget): some enhancement restructure

- move props to prototype
- retry props in a widget model (and corresponding viewmodel)

time: 1h:20