Added generic response interface along with some concrete implementations