Switch to pure class-based request system