Moved architecture code into own module.