Usability of GSM library and GSM shield

Hi boys,
please, can you help me with my questions about GSM? I´m newbie with arduino, but I was developed some project in assembler and GSM modules. Now I want start with GSM and arduino. I found and tested gsm library for SIMCOM SIM900.

My questions are -

How GSM library read incoming communication from GSM module? For example when incoming call is received? Is there some interrupt, or I must scan RING wire and manually CALL function for read caller number?

Can I use interrupt for read IO ports of arduino and make some actions on GSM? (call, send SMS, etc...) or all interrupts are used for GSM shield?

I don´t understand how this library run and how I can use them. My idea is make main LOOP, where be some steps, which be run in cirlce.
For example :
1 - read status of GSM call
2 - read new SMS
3 - read state of arduino IO pins
4 - make some action on GSM by state of arduino pins
5 - make change on outputs by incoming SMS
6 - every 10 minutes test signal, communication, etc

Is this good idea? Can I run this 6 steps in infinite loop and use arduino interrupts for reading state of I/O pins?
I´m afraid interrupts are used by GSM library and I can not use them without corruption of comunication with GSM? Or GSM library run without interrupt, only on demand? This is my main question.

Many thanks for help and I´m sorry for my english,