diff --git a/alib2abstraction/src/registry/AlgorithmRegistry.hpp b/alib2abstraction/src/registry/AlgorithmRegistry.hpp
index 2d696ecd14f981a05976655b3ed77aa767fdae7c..f7983e2b85d187612ea94c0e23a6fa1251b0cccf 100644
--- a/alib2abstraction/src/registry/AlgorithmRegistry.hpp
+++ b/alib2abstraction/src/registry/AlgorithmRegistry.hpp
@@ -28,6 +28,7 @@
 namespace abstraction {
 
 class AlgorithmRegistry {
+public:
 	class Entry {
 	public:
 		virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0;
@@ -36,6 +37,7 @@ class AlgorithmRegistry {
 		}
 	};
 
+private:
 	template < class ObjectType, class Return, class ... Params >
 	class MemberImpl : public Entry {
 		std::function < Return ( typename std::remove_reference < ObjectType >::type *, Params ... ) > m_callback;
diff --git a/alib2abstraction/src/registry/CastRegistry.hpp b/alib2abstraction/src/registry/CastRegistry.hpp
index 40bc9ccd603cf8d3632617716e89f43d47a52827..0e2df9e9cfaf3613ecd8748d9719596d1e3441bc 100644
--- a/alib2abstraction/src/registry/CastRegistry.hpp
+++ b/alib2abstraction/src/registry/CastRegistry.hpp
@@ -21,6 +21,7 @@
 namespace abstraction {
 
 class CastRegistry {
+public:
 	class Entry {
 	public:
 		virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0;
@@ -29,6 +30,7 @@ class CastRegistry {
 
 	};
 
+private:
 	template < class Return, class Param >
 	class DefaultEntryImpl : public Entry {
 	public:
diff --git a/alib2abstraction/src/registry/ContainerRegistry.hpp b/alib2abstraction/src/registry/ContainerRegistry.hpp
index b49fc5510d9b548990fbefc0858ae8832c34db77..d88509082af048b5dd6b43e21812b8be3cd68a69 100644
--- a/alib2abstraction/src/registry/ContainerRegistry.hpp
+++ b/alib2abstraction/src/registry/ContainerRegistry.hpp
@@ -22,6 +22,7 @@
 namespace abstraction {
 
 class ContainerRegistry {
+public:
 	class Entry {
 	public:
 		virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0;
@@ -30,6 +31,7 @@ class ContainerRegistry {
 		}
 	};
 
+private:
 	template < class Params >
 	class SetEntryImpl : public Entry {
 	public:
diff --git a/alib2abstraction/src/registry/ImmediateRegistry.hpp b/alib2abstraction/src/registry/ImmediateRegistry.hpp
index 63b0ab4f4ecce4844fc59d5e9ca097ce266edc3d..49a2c54c222432b6f631e92850743df81127d49f 100644
--- a/alib2abstraction/src/registry/ImmediateRegistry.hpp
+++ b/alib2abstraction/src/registry/ImmediateRegistry.hpp
@@ -19,6 +19,7 @@
 namespace abstraction {
 
 class ImmediateRegistry {
+public:
 	class Entry {
 	public:
 		virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( std::string value ) const = 0;
@@ -27,6 +28,7 @@ class ImmediateRegistry {
 		}
 	};
 
+private:
 	template < class Result >
 	class EntryImpl : public Entry {
 	public:
diff --git a/alib2abstraction/src/registry/NormalizeRegistry.hpp b/alib2abstraction/src/registry/NormalizeRegistry.hpp
index 782d357ed3fc117317ac8fce648f0fdcd96fd5bc..e4a6580caf96751830440d8884227768966a900a 100644
--- a/alib2abstraction/src/registry/NormalizeRegistry.hpp
+++ b/alib2abstraction/src/registry/NormalizeRegistry.hpp
@@ -21,6 +21,7 @@
 namespace abstraction {
 
 class NormalizeRegistry {
+public:
 	class Entry {
 	public:
 		virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0;
@@ -30,6 +31,7 @@ class NormalizeRegistry {
 
 	};
 
+private:
 	template < class Param >
 	class EntryImpl : public Entry {
 	public:
diff --git a/alib2abstraction/src/registry/ValuePrinterRegistry.hpp b/alib2abstraction/src/registry/ValuePrinterRegistry.hpp
index 56bce0bbcb5da3812361ba70ecad7e7480c8e59d..722c21ac43b9fd7cfcaaa13a1b6af7f9fb0c8814 100644
--- a/alib2abstraction/src/registry/ValuePrinterRegistry.hpp
+++ b/alib2abstraction/src/registry/ValuePrinterRegistry.hpp
@@ -18,6 +18,7 @@
 namespace abstraction {
 
 class ValuePrinterRegistry {
+public:
 	class Entry {
 	public:
 		virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( std::ostream & os ) const = 0;
@@ -27,6 +28,7 @@ class ValuePrinterRegistry {
 
 	};
 
+private:
 	template < class Param >
 	class EntryImpl : public Entry {
 	public:
diff --git a/alib2raw/src/registry/RawReaderRegistry.hpp b/alib2raw/src/registry/RawReaderRegistry.hpp
index a02b9e5bb72c1a7f5fcdfd91845116e9903d3f46..2b1f141c529bfedf46fb38f23e9988ecf13c0bfd 100644
--- a/alib2raw/src/registry/RawReaderRegistry.hpp
+++ b/alib2raw/src/registry/RawReaderRegistry.hpp
@@ -19,6 +19,7 @@
 namespace abstraction {
 
 class RawReaderRegistry {
+public:
 	class Entry {
 	public:
 		virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0;
@@ -27,6 +28,7 @@ class RawReaderRegistry {
 		}
 	};
 
+private:
 	template < class Return >
 	class EntryImpl : public Entry {
 	public:
diff --git a/alib2raw/src/registry/RawWriterRegistry.hpp b/alib2raw/src/registry/RawWriterRegistry.hpp
index 180a216ba9e3703a4c5a01a99a2e11115a11d153..5c5eae33cc86197ca655c4a4cd6f7d1fea880dbe 100644
--- a/alib2raw/src/registry/RawWriterRegistry.hpp
+++ b/alib2raw/src/registry/RawWriterRegistry.hpp
@@ -19,6 +19,7 @@
 namespace abstraction {
 
 class RawWriterRegistry {
+public:
 	class Entry {
 	public:
 		virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0;
@@ -27,6 +28,7 @@ class RawWriterRegistry {
 		}
 	};
 
+private:
 	template < class Param >
 	class EntryImpl : public Entry {
 	public:
diff --git a/alib2str/src/registry/StringWriterRegistry.hpp b/alib2str/src/registry/StringWriterRegistry.hpp
index 26e97e4e87b053df17560aa99956a0517753e780..85b0757d7e0032526258e4b0575b2b71f73f5c6a 100644
--- a/alib2str/src/registry/StringWriterRegistry.hpp
+++ b/alib2str/src/registry/StringWriterRegistry.hpp
@@ -19,6 +19,7 @@
 namespace abstraction {
 
 class StringWriterRegistry {
+public:
 	class Entry {
 	public:
 		virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0;
@@ -28,6 +29,7 @@ class StringWriterRegistry {
 
 	};
 
+private:
 	template < class Param >
 	class EntryImpl : public Entry {
 	public:
diff --git a/alib2xml/src/core/xmlApi.hpp b/alib2xml/src/core/xmlApi.hpp
index 637dd14c9a1512e09c8c86f85ccee8bf8591d7cc..08ee579c07d9a4ada2568dcc69059c1f1e276763 100644
--- a/alib2xml/src/core/xmlApi.hpp
+++ b/alib2xml/src/core/xmlApi.hpp
@@ -62,7 +62,7 @@ public:
 
 template < >
 struct xmlApi < object::Object > {
-private:
+public:
 	class GroupParser {
 	public:
 		virtual object::Object parse ( ext::deque < sax::Token >::iterator & input ) = 0;
@@ -70,6 +70,7 @@ private:
 		virtual ~GroupParser ( ) noexcept = default;
 	};
 
+private:
 	static ext::map < std::string, std::unique_ptr < GroupParser > > & parseFunctions ( );
 
 	template < class Type >
@@ -81,6 +82,7 @@ private:
 
 	};
 
+public:
 	class GroupComposer {
 	public:
 		virtual void compose ( ext::deque < sax::Token > & input, const object::Object & group ) = 0;
@@ -88,6 +90,7 @@ private:
 		virtual ~GroupComposer( ) noexcept = default;
 	};
 
+private:
 	static ext::map < std::string, std::unique_ptr < GroupComposer > > & composeFunctions ( );
 
 	template < class Type >
diff --git a/alib2xml/src/registry/XmlComposerRegistry.hpp b/alib2xml/src/registry/XmlComposerRegistry.hpp
index 6ca9c697778ddd0c8b7ab105ee3b92b5390f429d..562b7b3e8f59a78e46f5bb2a319fa4c27c1b06d0 100644
--- a/alib2xml/src/registry/XmlComposerRegistry.hpp
+++ b/alib2xml/src/registry/XmlComposerRegistry.hpp
@@ -20,6 +20,7 @@
 namespace abstraction {
 
 class XmlComposerRegistry {
+public:
 	class Entry {
 	public:
 		virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0;
@@ -28,6 +29,7 @@ class XmlComposerRegistry {
 		}
 	};
 
+private:
 	template < class Param >
 	class EntryImpl : public Entry {
 	public:
diff --git a/alib2xml/src/registry/XmlContainerParserRegistry.hpp b/alib2xml/src/registry/XmlContainerParserRegistry.hpp
index 4bc2e54bf15728e23e3bc330d9d9add991a8edf5..a97d897beddeda8b58ea553e39342389864c303e 100644
--- a/alib2xml/src/registry/XmlContainerParserRegistry.hpp
+++ b/alib2xml/src/registry/XmlContainerParserRegistry.hpp
@@ -22,6 +22,7 @@
 namespace abstraction {
 
 class XmlContainerParserRegistry {
+public:
 	class Entry {
 	public:
 		virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0;
@@ -30,6 +31,7 @@ class XmlContainerParserRegistry {
 		}
 	};
 
+private:
 	template < class Params >
 	class SetEntryImpl : public Entry {
 	public:
diff --git a/alib2xml/src/registry/XmlParserRegistry.hpp b/alib2xml/src/registry/XmlParserRegistry.hpp
index 22c470628aad3fe5c8615b6006522ccf0eb5632e..3a8cb7b52b740450894279f82c41b959521b2d05 100644
--- a/alib2xml/src/registry/XmlParserRegistry.hpp
+++ b/alib2xml/src/registry/XmlParserRegistry.hpp
@@ -19,6 +19,7 @@
 namespace abstraction {
 
 class XmlParserRegistry {
+public:
 	class Entry {
 	public:
 		virtual std::shared_ptr < abstraction::OperationAbstraction > getAbstraction ( ) const = 0;
@@ -27,6 +28,7 @@ class XmlParserRegistry {
 		}
 	};
 
+private:
 	template < class Return >
 	class EntryImpl : public Entry {
 	public: