Begin refactoring design for response-handling; add response processor contract (issue #9)