This modal dialog shows how a model can be shared between the three separate views: `header`, `contents`, and `footer`.

Each view has its own controller (in this case, an instance of a minimal `SharedStateController`). The controller instances each get injected with a `sharedState` service, which only exports a single, shared object. This shared object is then assigned to each controller instance's injected `$scope`. As a result, each of the checkboxes in this examples have a `ng-model="state.a"` attribute.

Shared value in body

Please note that the providing and consuming the shared state is not handled by `core-layout` itself, but rather through AngularJS' standard ways of doing this when scopes that need to communicate are not children of each other and you don't want to litter the `$rootScope`.