Use maps to define interceptors.
Handle errors returned via channels
Error functionality
Update processor with error handling