For a more modular system (see AGPUSH-1479), we need to design a new arch. and share with the community for implementation.