Each component handles it's own dependencies