I see multiple failure points in this solution/implementation and some scenarios of failure are clear. I am not ok with this implementation please revize.