Holy constructor explosion Batman! I at least tried to group them logically.