onlyOwner modfier restricts anyone but the contract owner from taking profits moving funds in and out of aave can only be done by internal functions
BrightLink contract inherits from chainlink and also uses the IERC20 contract from open zeppelin BrightLink contract also uses a lendng pool provider contract for Aave lending pool
BrightLink contract makes calls to external API using a Chainlink oracle, synthesizes and updates contract state
Aave pool uses a lending pool provider contract
Mapping keeps track of status of customer/donor agreements, current data etc Settling agreement nullifies data in mapping
"circuitBreaker" sets paused==True, so all funcs with notPaused modifier will be locked. circuitBreaker() has onlyOwner modifier. "EscapeHatch" function withdraws all unspent funds back to the contract owner