add setData()/getData()

@harkit I was wrong to remove these earlier, having them means we can __invoke() without params, and just return the Responder for later dispatching
set data on responder and return responder, not response
update tests