Printer splitted to cake layers, added possibility to write own serializers.