extracts basic app resource logic into lib

because we should use it within the shared config LWRP. this feels more
and more like we need to have a family of nested LWRPs in order to set
this up in the cleanest fashion.