separate out the 'generic' code, couldn't get components in a different namespace to work in Ember, so resorted to creating an alias in the application namespace for the LayerSwitcherComponent