Moved factories in separat namespace and directory
Refactoring
Renaming
Refactored avoid buffer handling
Adding broken and not finished refactoring