I have been working on a form for some code @ work and was having some annoying issues with this class, so I extracted it into a smaller setting hoping to either a)find a bug to report or b)figure it out. I ended up figuring it out, but the behavior of this class is a bit odd imo.