UINavigationController based component to manage navigation bar and status bar styles. It uses Protocol Oriented Programing techniques to make a better implementation of custom styles without breaking the "Open Close Principle" (components should be open for extensions and close for edits) compared to an implementation using Enum-based customization for styles.