Renaming of detail header files.
Added and used specific generic headers.
Use specific headers in tests.
Individual files for specific elem functionality.