Support custom messagegenerator.
Do not use beanutils.
Cache the properites information.