refactors pub sub, simplifies naming conventions, adds elem container for ng-show and ng-hide directives