This would be awesome. Probably would require reflection though since we would not be able to subclass. Look into it!