Added an optional 'layout_dir' property to the assembler construct