Visibility refactor for use in Beta4 projects
Initializers also need to be explicitly marked public
Access the future in the promise
Merge remote-tracking branch 'bkase/visibility-beta4'
A future should only be created inside the module