I created another proposal with an alternative approach to solve this problem:
Please let me know your opinion!