I don't think there should be a way to explicitly create response i.e. `createResponse` should not be part of the interface but private or protected member.