The BaseController overrides the initialize method and creates a Match object. It creates a new instance of the Device model using this match and makes it available in the ViewBag for use in cshtml pages. It also exposes the Match object directly via the ViewBag (the more efficient method).
Now any view from a controller extending BaseController can access these objects like
@ViewBag.Device.IsMobile @ViewBag.Match.getValue("IsMobile")
to print the IsMobile property for Device and Match objects respectively.
Using the Match object also makes it easy to access data set properties and match metrics like,
@ViewBag.Match.DataSet.Published @ViewBag.Match.Method
to print the data set published date and match method from the Match object.