View model now exposes signals

The view model now exposes signals instead of properties.
(properties still exposed for compatibility purpose)
Merge branch 'view-model-signals'