Sometimes simple approaches are the best.
I think that it could work quite well. Are there any use cases out there that could provoke some unexpected behavior if it's implemented this way?