Interfaces for the assembler (a builder object) and a serializer (streamwriter) for the assembler