Refactor Response implementations duplicated code into ResponseBase, close #642