Demo2 Version4 (Typed context provider)