It's probably worth restoring the AbstractRequest to avoid duplicating these in every class.