Starting a project, need some advice and confirmation.

Yes, it allows both external and internal interrupts based.
Maybe best way is somehow trigger a change and through that change then complete the requested actions.