Concept Flow - Transfer and approve flow
User A calls approve(spender, amount)
Contract records allowance
User B calls transferFrom(User A, User C, amount)
Check allowance and balance
Transfer tokens
Update balances and allowance
Done
User A allows User B to spend tokens by approve. Then User B uses transferFrom to move tokens from A to C if allowed.