Edit/Create Spot Complete, Added Delete Spot

Refactored GetSpotTask to accept a GetSpotListener. This will be used
when the updated spot information needs to be reloaded and adds
reusability to the task.