ad() method now supports more than one context. Changes to ad element structure and hooks for adding content to the ad markup.