API, pt III: List Units

I keep telling myself to make the API as simple as possible, but I do agree that having the UnitState encapsulated in a separate object would be good. Will fix.