Auto-numbering and wrap the title with some text in Callouts

I have 3 custom admonitions definition, theorem, and corollary. Now I want to have autonumbering for each three. So that all the definition callouts usage in a file have their numbering separately. Same for theorem and corollary

Also When their is no title by default the Definition title appears. But when i am giving a title i for example

>[!definition] Commutative Ring

The title should appear like

Definition (Commutative Ring)

How can i do this