create some case classes and corresponding implicit conversions to represent  common values
replace usages of plain values with typed case classes throughout the api
normalized names for methods in the simple.* package