Refactor to use decorator pattern and finished exception mapping
Cleanup of names