I find selfish behaviour gets me really upset now that DD is over 3 years old.

Examples: we went to the library and took out a ton of books. She was going to hang out at our neighbour's house afterward and she asked if she could bring 1 book. I said sure, and suggested she bring another book for her friend and she refused and got upset because she didn't want her friend to have one.

Her friend ended up coming over. Every time he chose a toy to play with, she would run over and start playing with it or take it away. He is 1 year older and it's a good thing he was so laid back about it.

When we go to birthday parties, she asks the host where her gift is (gift bag). Cue complete embarrassed look from me. I think this is why I dislike gift bags!!

How do I address this infuriating behaviour? She has been like this since the toddler stage and it has only gotten worse (despite our best efforts).