Motivation

This change aims to improve the code scalability, particularly when we want to implement new features on the renderer side. This PR is critical for future developments of issue#48