static void Main(string[] args) { Spell someSpell = new Spell(); ISpellCaster caster = new Wizard(); caster.Prepare(someSpell); caster.Cast(someSpell); }