Turned ExprAdapter into a class, with companion static constructor
Turned some format fields into classes and swapped static/public