Various changes and fixes

Support for Guava Optional type.
Simpler field methods