Add getters and setters + refactoring

Very large architecture refactoring. Builders are not needed anymore, getters and setters are now publicly available