Moved logic to determine spot state to the Spot class itself