**Problem Statement:**
Given the required input arguments, write an efficient algorithm to solve the **Surrounded Regions** problem. Implement the required logic as specified by standard definitions for this classic algorithmic challenge.
**Hint / Expected Approach:**
BFS from border 'O's, mark safe; flip rest
**Edge Cases to Consider:**
- (1) No 'O's
- (2) 'O' on every border
- (3) Single 'O' in center