Split the overlay functionality into two classes, FCOverlay is used to actually present (or dismiss) the view controller, FCOverlayViewController is reduced to a helper class