We should not auto-init sub-systems. Instead we should initialize them 'by-hand'