After thinking about it I think I prefer your solution. It's cruder but completely viable.