Using property Observers

Hello there! I’m reviewing the code for this lesson and I’m having trouble figuring out how it gets its math once the willSet and didSet observers are set. Where does it get 30 from as the original value was 18? And how does the compiler know where to pull from with the values “newValue” and “oldValue”?

Full code:

struct Office {
var paperclipCost = 10
private var paperclipSales: Int {
willSet {
print(“We adjusted the sales to (newValue) paperclips.”)
}
didSet {
print(“Originally, we sold (oldValue) paperclips.”)
}
}
var totalRevenue: Int {
get {
return (paperclipSales * paperclipCost) + getSecretRevenue()
}
set(newTotalRevenue) {
paperclipSales = (newTotalRevenue - getSecretRevenue()) / paperclipCost
}
}

init(paperclipSales: Int) {
self.paperclipSales = paperclipSales
}

private func getSecretRevenue() → Int {
return 100
}

func printTotalRevenue() {
print(“Our total revenue this month is (totalRevenue)”)
}
}

var alphaOffice = Office(paperclipSales: 18)
alphaOffice.totalRevenue = 400
alphaOffice.printTotalRevenue()