Added a dedicated object to control transition instead of forcing view controller to do it