cleaned up some abstractions.

Stopped before I went too far, just something that caught my eye, not any functionality changes!