Remove self
Reorganizes into a separate request class; play with syntax