Firstly, thank you for helping me out in understand this. Suppose, if I have an ERC20 token contract (with all the required functions implemented including Transfer() function) deployed on the blockchian and a wallet implemented with basic functionality, say send tokens from my address to another wallet address.
To send tokens, my wallet creates a transaction, signs it and sends it to the blockchain. If I am not wrong, this transaction invokes Transfer() function which subtract tokens in my account and adds them to the receiver account. On successful invocation, the tokens are transferred.
Similarly, all the other functions are invoked through my wallet right? Sorry, if it is a silly question to ask.