Decouple SPOT request details from service logic

This should allow easier addition of other foreign
data sources