cleaned up some abstractions.

Stopped before I went too far, just something that caught my eye, not any functionality changes! Just relied on intelisense for this so a compile check maybe needed.