ISkinComponent
ISkinLookup
AllowSampleLookup
SkinProvidingContainer
Currently `protected` functionality for use in custom `SkinProvidingContainer`s, can be exposed to public constructors if it need to later on, but I'm not sure about doing that opposed to just nesting multiple `SkinProvidingContainer`.
Removes reliance on string lookups and better defines elements for introduction into database