This only works on Seam components, which this class isn't.
Also looks like there's a lot to this class for it to be abstract. I think it'd be better to make it its own class.