Basic function
The obligation
object tracks the debts and collateral assets of a single user. It calculates compound interest on the debts and assets of this user and keeps track of how much the user can borrow based on the amount of assets the user owns.