Component building middleware