New Custom Component (Hive heating) Questions

Hello

I have recently discovered Home Assistant and have now got myself setup on a raspberry pi and quite frankly this platform is amazing and exactly what I have been looking for.

Now that I have a few basics setup I wanted to get my Hive Heating setup in there so I could see what it is currently up to and possibly control it a bit, so I started writing a custom component, and it is going pretty well so far (porting it over from a UWP I am part way through writing), but have a couple of questions regarding custom components :

How frequently are custom components called?

Can the frequency at which custom components are called be defined / limited?

Does data / variables persist between calls?

Does the whole custom component start fresh each time its called or does just a data update / collection method get called after the first time?

Thank you very much for any help or guidance