I can see something like this taking a while to develop and implement, but would undoubtedly be worth it in the end.