The visit methods should match the exact class name

Also boosts performance a bit.
Return the value directly from a visitor