Use Inflector and PropertyAccess when possible

This PR allows form purposes to contain underscores.
It should/could, it would avoid a new object for each call.