WHAT made the request option it's own class WHY so it can be handled easier by the models