From a5b214b079f4c22898e9087da1a452b740a8590f Mon Sep 17 00:00:00 2001
From: Thomas Ibel <tibel@users.noreply.github.com>
Date: Sun, 8 Mar 2015 18:42:12 +0100
Subject: [PATCH] add new WeakEventHandler that uses NO reflection

---
 README.md                                     |    6 +-
 Weakly.sln                                    |   82 +-
 build/Weakly.nuspec                           |    6 +-
 samples/Demo.Library/Demo.Library.csproj      |   52 -
 .../Demo.Library/Properties/AssemblyInfo.cs   |   30 -
 samples/Demo.Library/TestMethods.cs           |   55 -
 samples/Demo.Library/TestRunner.cs            |   22 -
 samples/Demo.Phone/App.xaml                   |   20 -
 samples/Demo.Phone/App.xaml.cs                |  223 --
 samples/Demo.Phone/Assets/AlignmentGrid.png   |  Bin 9042 -> 0 bytes
 samples/Demo.Phone/Assets/ApplicationIcon.png |  Bin 3392 -> 0 bytes
 .../Assets/Tiles/FlipCycleTileLarge.png       |  Bin 9930 -> 0 bytes
 .../Assets/Tiles/FlipCycleTileMedium.png      |  Bin 9070 -> 0 bytes
 .../Assets/Tiles/FlipCycleTileSmall.png       |  Bin 3674 -> 0 bytes
 .../Assets/Tiles/IconicTileMediumLarge.png    |  Bin 4937 -> 0 bytes
 .../Assets/Tiles/IconicTileSmall.png          |  Bin 3724 -> 0 bytes
 samples/Demo.Phone/Demo.Phone.csproj          |  170 --
 samples/Demo.Phone/LocalizedStrings.cs        |   14 -
 samples/Demo.Phone/MainPage.xaml              |   72 -
 samples/Demo.Phone/MainPage.xaml.cs           |  117 --
 samples/Demo.Phone/Properties/AppManifest.xml |    6 -
 samples/Demo.Phone/Properties/AssemblyInfo.cs |   37 -
 .../Demo.Phone/Properties/WMAppManifest.xml   |   38 -
 .../Resources/AppResources.Designer.cs        |  127 --
 .../Demo.Phone/Resources/AppResources.resx    |  137 --
 samples/Demo.Win81/App.xaml                   |   20 -
 samples/Demo.Win81/App.xaml.cs                |   78 -
 samples/Demo.Win81/Assets/Logo.png            |  Bin 801 -> 0 bytes
 samples/Demo.Win81/Assets/SmallLogo.png       |  Bin 329 -> 0 bytes
 samples/Demo.Win81/Assets/SplashScreen.png    |  Bin 2146 -> 0 bytes
 samples/Demo.Win81/Assets/StoreLogo.png       |  Bin 429 -> 0 bytes
 samples/Demo.Win81/Common/StandardStyles.xaml | 1829 -----------------
 samples/Demo.Win81/Demo.Win81.csproj          |  163 --
 .../Demo.Win81/Demo.Win81_TemporaryKey.pfx    |  Bin 2512 -> 0 bytes
 samples/Demo.Win81/MainPage.xaml              |   22 -
 samples/Demo.Win81/MainPage.xaml.cs           |  106 -
 samples/Demo.Win81/Package.appxmanifest       |   31 -
 samples/Demo.Win81/Properties/AssemblyInfo.cs |   29 -
 samples/Demo.Wpf/App.config                   |    6 -
 samples/Demo.Wpf/App.xaml                     |    8 -
 samples/Demo.Wpf/App.xaml.cs                  |   11 -
 samples/Demo.Wpf/Demo.Wpf.csproj              |  114 -
 samples/Demo.Wpf/MainWindow.xaml              |    8 -
 samples/Demo.Wpf/MainWindow.xaml.cs           |   15 -
 samples/Demo.Wpf/Properties/AssemblyInfo.cs   |   55 -
 .../Demo.Wpf/Properties/Resources.Designer.cs |   71 -
 samples/Demo.Wpf/Properties/Resources.resx    |  117 --
 .../Demo.Wpf/Properties/Settings.Designer.cs  |   30 -
 samples/Demo.Wpf/Properties/Settings.settings |    7 -
 src/GlobalAssemblyInfo.cs                     |    6 +-
 src/Weakly/Delegates/DynamicDelegate.cs       |   23 -
 src/Weakly/Delegates/DynamicEvent.cs          |   32 -
 src/Weakly/Delegates/DynamicProperty.cs       |   33 -
 src/Weakly/Delegates/OpenAction.cs            |   88 -
 src/Weakly/Delegates/OpenFunc.cs              |   94 -
 src/Weakly/Delegates/WeakAction.cs            |  238 +--
 src/Weakly/Delegates/WeakDelegate.cs          |   49 -
 src/Weakly/Delegates/WeakFunc.cs              |  254 +--
 src/Weakly/Events/IWeakEventHandler.cs        |   10 +
 .../Events/WeakCanExecuteChangedHandler.cs    |   22 +
 src/Weakly/Events/WeakEventHandler.cs         |  130 +-
 src/Weakly/Events/WeakEventHandlerBase.cs     |  146 ++
 src/Weakly/Events/WeakEventSource.cs          |   78 +-
 .../WeakNotifyPropertyChangedHandler.cs       |   22 +
 src/Weakly/Weakly.csproj                      |   16 +-
 src/Weakly/Weakly.csproj.DotSettings          |   19 +-
 66 files changed, 325 insertions(+), 4869 deletions(-)
 delete mode 100644 samples/Demo.Library/Demo.Library.csproj
 delete mode 100644 samples/Demo.Library/Properties/AssemblyInfo.cs
 delete mode 100644 samples/Demo.Library/TestMethods.cs
 delete mode 100644 samples/Demo.Library/TestRunner.cs
 delete mode 100644 samples/Demo.Phone/App.xaml
 delete mode 100644 samples/Demo.Phone/App.xaml.cs
 delete mode 100644 samples/Demo.Phone/Assets/AlignmentGrid.png
 delete mode 100644 samples/Demo.Phone/Assets/ApplicationIcon.png
 delete mode 100644 samples/Demo.Phone/Assets/Tiles/FlipCycleTileLarge.png
 delete mode 100644 samples/Demo.Phone/Assets/Tiles/FlipCycleTileMedium.png
 delete mode 100644 samples/Demo.Phone/Assets/Tiles/FlipCycleTileSmall.png
 delete mode 100644 samples/Demo.Phone/Assets/Tiles/IconicTileMediumLarge.png
 delete mode 100644 samples/Demo.Phone/Assets/Tiles/IconicTileSmall.png
 delete mode 100644 samples/Demo.Phone/Demo.Phone.csproj
 delete mode 100644 samples/Demo.Phone/LocalizedStrings.cs
 delete mode 100644 samples/Demo.Phone/MainPage.xaml
 delete mode 100644 samples/Demo.Phone/MainPage.xaml.cs
 delete mode 100644 samples/Demo.Phone/Properties/AppManifest.xml
 delete mode 100644 samples/Demo.Phone/Properties/AssemblyInfo.cs
 delete mode 100644 samples/Demo.Phone/Properties/WMAppManifest.xml
 delete mode 100644 samples/Demo.Phone/Resources/AppResources.Designer.cs
 delete mode 100644 samples/Demo.Phone/Resources/AppResources.resx
 delete mode 100644 samples/Demo.Win81/App.xaml
 delete mode 100644 samples/Demo.Win81/App.xaml.cs
 delete mode 100644 samples/Demo.Win81/Assets/Logo.png
 delete mode 100644 samples/Demo.Win81/Assets/SmallLogo.png
 delete mode 100644 samples/Demo.Win81/Assets/SplashScreen.png
 delete mode 100644 samples/Demo.Win81/Assets/StoreLogo.png
 delete mode 100644 samples/Demo.Win81/Common/StandardStyles.xaml
 delete mode 100644 samples/Demo.Win81/Demo.Win81.csproj
 delete mode 100644 samples/Demo.Win81/Demo.Win81_TemporaryKey.pfx
 delete mode 100644 samples/Demo.Win81/MainPage.xaml
 delete mode 100644 samples/Demo.Win81/MainPage.xaml.cs
 delete mode 100644 samples/Demo.Win81/Package.appxmanifest
 delete mode 100644 samples/Demo.Win81/Properties/AssemblyInfo.cs
 delete mode 100644 samples/Demo.Wpf/App.config
 delete mode 100644 samples/Demo.Wpf/App.xaml
 delete mode 100644 samples/Demo.Wpf/App.xaml.cs
 delete mode 100644 samples/Demo.Wpf/Demo.Wpf.csproj
 delete mode 100644 samples/Demo.Wpf/MainWindow.xaml
 delete mode 100644 samples/Demo.Wpf/MainWindow.xaml.cs
 delete mode 100644 samples/Demo.Wpf/Properties/AssemblyInfo.cs
 delete mode 100644 samples/Demo.Wpf/Properties/Resources.Designer.cs
 delete mode 100644 samples/Demo.Wpf/Properties/Resources.resx
 delete mode 100644 samples/Demo.Wpf/Properties/Settings.Designer.cs
 delete mode 100644 samples/Demo.Wpf/Properties/Settings.settings
 delete mode 100644 src/Weakly/Delegates/DynamicDelegate.cs
 delete mode 100644 src/Weakly/Delegates/DynamicEvent.cs
 delete mode 100644 src/Weakly/Delegates/DynamicProperty.cs
 delete mode 100644 src/Weakly/Delegates/OpenAction.cs
 delete mode 100644 src/Weakly/Delegates/OpenFunc.cs
 delete mode 100644 src/Weakly/Delegates/WeakDelegate.cs
 create mode 100644 src/Weakly/Events/IWeakEventHandler.cs
 create mode 100644 src/Weakly/Events/WeakCanExecuteChangedHandler.cs
 create mode 100644 src/Weakly/Events/WeakEventHandlerBase.cs
 create mode 100644 src/Weakly/Events/WeakNotifyPropertyChangedHandler.cs

diff --git a/README.md b/README.md
index 742878a..b4ebbac 100644
--- a/README.md
+++ b/README.md
@@ -26,12 +26,12 @@ Weakly is available through NuGet:
 * some Helpers
 
 ### Delegates
-* `WeakAction` to `WeakAction<T1, T2, T3, T4, T5>`
-* `WeakFunc<TResult>` to `WeakFunc<T1, T2, T3, T4, T5, TResult>`
+* `WeakAction`
+* `WeakFunc<TResult>`
 * `DisposableAction` executes an action when disposed
 
 ### Events
-* `WeakEventHandler<TEventArgs>`
+* `WeakEventHandler`
 * `WeakEventSource<TEventArgs>`
 
 ### Expressions
diff --git a/Weakly.sln b/Weakly.sln
index 2947045..1890f68 100644
--- a/Weakly.sln
+++ b/Weakly.sln
@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
 # Visual Studio 2013
-VisualStudioVersion = 12.0.30723.0
+VisualStudioVersion = 12.0.31101.0
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Weakly", "src\Weakly\Weakly.csproj", "{AA37F0C0-AA8C-46DE-AC8A-DB844C9AC556}"
 EndProject
@@ -13,21 +13,11 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
 		build\Weakly.nuspec = build\Weakly.nuspec
 	EndProjectSection
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{9631FAAF-E57A-4C3B-8C4F-3FAAE0BE097B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.Phone", "samples\Demo.Phone\Demo.Phone.csproj", "{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.Win81", "samples\Demo.Win81\Demo.Win81.csproj", "{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}"
-EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{CD637C73-7382-48F9-BFA2-20CD9469DB23}"
 	ProjectSection(SolutionItems) = preProject
 		.nuget\packages.config = .nuget\packages.config
 	EndProjectSection
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.Wpf", "samples\Demo.Wpf\Demo.Wpf.csproj", "{D29C99D6-1657-41F7-B41D-2BC0ACB48973}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo.Library", "samples\Demo.Library\Demo.Library.csproj", "{ECE781C9-3808-46CA-A947-97B1FED9DA51}"
-EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 		Debug|Any CPU = Debug|Any CPU
@@ -50,78 +40,8 @@ Global
 		{AA37F0C0-AA8C-46DE-AC8A-DB844C9AC556}.Release|ARM.ActiveCfg = Release|Any CPU
 		{AA37F0C0-AA8C-46DE-AC8A-DB844C9AC556}.Release|x64.ActiveCfg = Release|Any CPU
 		{AA37F0C0-AA8C-46DE-AC8A-DB844C9AC556}.Release|x86.ActiveCfg = Release|Any CPU
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Debug|ARM.ActiveCfg = Debug|ARM
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Debug|ARM.Build.0 = Debug|ARM
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Debug|ARM.Deploy.0 = Debug|ARM
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Debug|x86.ActiveCfg = Debug|x86
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Debug|x86.Build.0 = Debug|x86
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Debug|x86.Deploy.0 = Debug|x86
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Release|Any CPU.Build.0 = Release|Any CPU
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Release|Any CPU.Deploy.0 = Release|Any CPU
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Release|ARM.ActiveCfg = Release|ARM
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Release|ARM.Build.0 = Release|ARM
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Release|ARM.Deploy.0 = Release|ARM
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Release|x64.ActiveCfg = Release|Any CPU
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Release|x86.ActiveCfg = Release|x86
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Release|x86.Build.0 = Release|x86
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}.Release|x86.Deploy.0 = Release|x86
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Debug|ARM.ActiveCfg = Debug|ARM
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Debug|ARM.Build.0 = Debug|ARM
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Debug|ARM.Deploy.0 = Debug|ARM
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Debug|x64.ActiveCfg = Debug|x64
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Debug|x64.Build.0 = Debug|x64
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Debug|x64.Deploy.0 = Debug|x64
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Debug|x86.ActiveCfg = Debug|x86
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Debug|x86.Build.0 = Debug|x86
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Debug|x86.Deploy.0 = Debug|x86
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Release|Any CPU.Build.0 = Release|Any CPU
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Release|Any CPU.Deploy.0 = Release|Any CPU
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Release|ARM.ActiveCfg = Release|ARM
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Release|ARM.Build.0 = Release|ARM
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Release|ARM.Deploy.0 = Release|ARM
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Release|x64.ActiveCfg = Release|x64
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Release|x64.Build.0 = Release|x64
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Release|x64.Deploy.0 = Release|x64
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Release|x86.ActiveCfg = Release|x86
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Release|x86.Build.0 = Release|x86
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}.Release|x86.Deploy.0 = Release|x86
-		{D29C99D6-1657-41F7-B41D-2BC0ACB48973}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D29C99D6-1657-41F7-B41D-2BC0ACB48973}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{D29C99D6-1657-41F7-B41D-2BC0ACB48973}.Debug|ARM.ActiveCfg = Debug|Any CPU
-		{D29C99D6-1657-41F7-B41D-2BC0ACB48973}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{D29C99D6-1657-41F7-B41D-2BC0ACB48973}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{D29C99D6-1657-41F7-B41D-2BC0ACB48973}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D29C99D6-1657-41F7-B41D-2BC0ACB48973}.Release|Any CPU.Build.0 = Release|Any CPU
-		{D29C99D6-1657-41F7-B41D-2BC0ACB48973}.Release|ARM.ActiveCfg = Release|Any CPU
-		{D29C99D6-1657-41F7-B41D-2BC0ACB48973}.Release|x64.ActiveCfg = Release|Any CPU
-		{D29C99D6-1657-41F7-B41D-2BC0ACB48973}.Release|x86.ActiveCfg = Release|Any CPU
-		{ECE781C9-3808-46CA-A947-97B1FED9DA51}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{ECE781C9-3808-46CA-A947-97B1FED9DA51}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{ECE781C9-3808-46CA-A947-97B1FED9DA51}.Debug|ARM.ActiveCfg = Debug|Any CPU
-		{ECE781C9-3808-46CA-A947-97B1FED9DA51}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{ECE781C9-3808-46CA-A947-97B1FED9DA51}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{ECE781C9-3808-46CA-A947-97B1FED9DA51}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{ECE781C9-3808-46CA-A947-97B1FED9DA51}.Release|Any CPU.Build.0 = Release|Any CPU
-		{ECE781C9-3808-46CA-A947-97B1FED9DA51}.Release|ARM.ActiveCfg = Release|Any CPU
-		{ECE781C9-3808-46CA-A947-97B1FED9DA51}.Release|x64.ActiveCfg = Release|Any CPU
-		{ECE781C9-3808-46CA-A947-97B1FED9DA51}.Release|x86.ActiveCfg = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
-	GlobalSection(NestedProjects) = preSolution
-		{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8} = {9631FAAF-E57A-4C3B-8C4F-3FAAE0BE097B}
-		{EF1121FE-83A7-4BFC-9754-4C928AAA01B9} = {9631FAAF-E57A-4C3B-8C4F-3FAAE0BE097B}
-		{D29C99D6-1657-41F7-B41D-2BC0ACB48973} = {9631FAAF-E57A-4C3B-8C4F-3FAAE0BE097B}
-		{ECE781C9-3808-46CA-A947-97B1FED9DA51} = {9631FAAF-E57A-4C3B-8C4F-3FAAE0BE097B}
-	EndGlobalSection
 EndGlobal
diff --git a/build/Weakly.nuspec b/build/Weakly.nuspec
index f66523f..d4620fb 100644
--- a/build/Weakly.nuspec
+++ b/build/Weakly.nuspec
@@ -3,7 +3,7 @@
   <metadata>
     <id>Weakly</id>
     <title>Weakly</title>
-    <version>2.2.3</version>
+    <version>2.4.0</version>
     <authors>Thomas Ibel</authors>
     <description>Weakly is a collection of some useful weak-reference types available as portable class library for net45+win8+wp8+wpa81.</description>
     <language>en-US</language>
@@ -11,8 +11,8 @@
     <projectUrl>https://github.com/tibel/Weakly</projectUrl>
     <iconUrl>https://raw.github.com/tibel/Weakly/master/build/weakly_icon.png</iconUrl>
     <requireLicenseAcceptance>false</requireLicenseAcceptance>
-    <releaseNotes>added ManagedRuntime helper and some refactoring</releaseNotes>
-    <copyright>Copyright Thomas Ibel 2013-2014</copyright>
+    <releaseNotes>WeakAction, WeakFunc and WeakEventHandler now work without reflection</releaseNotes>
+    <copyright>Copyright Thomas Ibel 2013-2015</copyright>
     <tags>
       Weakly WeakReference WeakAction WeakFunc WeakDelegate WeakCollection WeakValueDictionary WeakEventHandler WeakEventSource Async Task
     </tags>
diff --git a/samples/Demo.Library/Demo.Library.csproj b/samples/Demo.Library/Demo.Library.csproj
deleted file mode 100644
index 7f95d82..0000000
--- a/samples/Demo.Library/Demo.Library.csproj
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{ECE781C9-3808-46CA-A947-97B1FED9DA51}</ProjectGuid>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Demo.Library</RootNamespace>
-    <AssemblyName>Demo.Library</AssemblyName>
-    <DefaultLanguage>en-US</DefaultLanguage>
-    <FileAlignment>512</FileAlignment>
-    <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <TargetFrameworkProfile>Profile259</TargetFrameworkProfile>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <!-- A reference to the entire .NET Framework is automatically included -->
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="TestMethods.cs" />
-    <Compile Include="TestRunner.cs" />
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
diff --git a/samples/Demo.Library/Properties/AssemblyInfo.cs b/samples/Demo.Library/Properties/AssemblyInfo.cs
deleted file mode 100644
index 09ecd9b..0000000
--- a/samples/Demo.Library/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System.Resources;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Demo.Library")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Demo.Library")]
-[assembly: AssemblyCopyright("Copyright ©  2014")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-[assembly: NeutralResourcesLanguage("en")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/samples/Demo.Library/TestMethods.cs b/samples/Demo.Library/TestMethods.cs
deleted file mode 100644
index 510fa41..0000000
--- a/samples/Demo.Library/TestMethods.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using System.Diagnostics;
-
-namespace Demo.Library
-{
-    internal class TestMethods
-    {
-        #region private static
-
-        private static void StaticVoidNoParams()
-        {
-            Debug.WriteLine("StaticVoidNoParams");
-        }
-
-        private static int StaticIntNoParams()
-        {
-            return 11;
-        }
-
-        private static void StaticVoidOneParam(int echo)
-        {
-            Debug.WriteLine("StaticVoidOneParam {0}", echo);
-        }
-
-        private static int StaticIntOneParam(int add)
-        {
-            return 11 + add;
-        }
-
-        #endregion
-
-        #region private instance
-
-        private void VoidNoParams()
-        {
-            Debug.WriteLine("VoidNoParams");
-        }
-
-        private int IntNoParams()
-        {
-            return 17;
-        }
-
-        private void VoidOneParam(int echo)
-        {
-            Debug.WriteLine("VoidOneParam {0}", echo);
-        }
-
-        private int IntOneParam(int add)
-        {
-            return 3 + add;
-        }
-
-        #endregion
-    }
-}
diff --git a/samples/Demo.Library/TestRunner.cs b/samples/Demo.Library/TestRunner.cs
deleted file mode 100644
index f1d2ca3..0000000
--- a/samples/Demo.Library/TestRunner.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace Demo.Library
-{
-    public static class TestRunner
-    {
-        public static Type TestMethodsType
-        {
-            get { return typeof (TestMethods); }
-        }
-
-        public static MethodInfo GetTestMethod(string methodName)
-        {
-            return TestMethodsType.GetRuntimeMethods().FirstOrDefault(m => m.Name == methodName);
-        }
-    }
-}
diff --git a/samples/Demo.Phone/App.xaml b/samples/Demo.Phone/App.xaml
deleted file mode 100644
index aa59324..0000000
--- a/samples/Demo.Phone/App.xaml
+++ /dev/null
@@ -1,20 +0,0 @@
-<Application
-    x:Class="Demo.Phone.App"
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
-    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">
-
-    <!--Application Resources-->
-    <Application.Resources>
-        <local:LocalizedStrings xmlns:local="clr-namespace:Demo.Phone" x:Key="LocalizedStrings"/>
-    </Application.Resources>
-
-    <Application.ApplicationLifetimeObjects>
-        <!--Required object that handles lifetime events for the application-->
-        <shell:PhoneApplicationService
-            Launching="Application_Launching" Closing="Application_Closing"
-            Activated="Application_Activated" Deactivated="Application_Deactivated"/>
-    </Application.ApplicationLifetimeObjects>
-
-</Application>
\ No newline at end of file
diff --git a/samples/Demo.Phone/App.xaml.cs b/samples/Demo.Phone/App.xaml.cs
deleted file mode 100644
index ad4f634..0000000
--- a/samples/Demo.Phone/App.xaml.cs
+++ /dev/null
@@ -1,223 +0,0 @@
-using System;
-using System.Diagnostics;
-using System.Resources;
-using System.Windows;
-using System.Windows.Markup;
-using System.Windows.Navigation;
-using Microsoft.Phone.Controls;
-using Microsoft.Phone.Shell;
-using Demo.Phone.Resources;
-
-namespace Demo.Phone
-{
-    public partial class App : Application
-    {
-        /// <summary>
-        /// Provides easy access to the root frame of the Phone Application.
-        /// </summary>
-        /// <returns>The root frame of the Phone Application.</returns>
-        public static PhoneApplicationFrame RootFrame { get; private set; }
-
-        /// <summary>
-        /// Constructor for the Application object.
-        /// </summary>
-        public App()
-        {
-            // Global handler for uncaught exceptions.
-            UnhandledException += Application_UnhandledException;
-
-            // Standard XAML initialization
-            InitializeComponent();
-
-            // Phone-specific initialization
-            InitializePhoneApplication();
-
-            // Language display initialization
-            InitializeLanguage();
-
-            // Show graphics profiling information while debugging.
-            if (Debugger.IsAttached)
-            {
-                // Display the current frame rate counters.
-                Application.Current.Host.Settings.EnableFrameRateCounter = true;
-
-                // Show the areas of the app that are being redrawn in each frame.
-                //Application.Current.Host.Settings.EnableRedrawRegions = true;
-
-                // Enable non-production analysis visualization mode,
-                // which shows areas of a page that are handed off to GPU with a colored overlay.
-                //Application.Current.Host.Settings.EnableCacheVisualization = true;
-
-                // Prevent the screen from turning off while under the debugger by disabling
-                // the application's idle detection.
-                // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run
-                // and consume battery power when the user is not using the phone.
-                PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
-            }
-
-        }
-
-        // Code to execute when the application is launching (eg, from Start)
-        // This code will not execute when the application is reactivated
-        private void Application_Launching(object sender, LaunchingEventArgs e)
-        {
-        }
-
-        // Code to execute when the application is activated (brought to foreground)
-        // This code will not execute when the application is first launched
-        private void Application_Activated(object sender, ActivatedEventArgs e)
-        {
-        }
-
-        // Code to execute when the application is deactivated (sent to background)
-        // This code will not execute when the application is closing
-        private void Application_Deactivated(object sender, DeactivatedEventArgs e)
-        {
-        }
-
-        // Code to execute when the application is closing (eg, user hit Back)
-        // This code will not execute when the application is deactivated
-        private void Application_Closing(object sender, ClosingEventArgs e)
-        {
-        }
-
-        // Code to execute if a navigation fails
-        private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
-        {
-            if (Debugger.IsAttached)
-            {
-                // A navigation has failed; break into the debugger
-                Debugger.Break();
-            }
-        }
-
-        // Code to execute on Unhandled Exceptions
-        private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
-        {
-            if (Debugger.IsAttached)
-            {
-                // An unhandled exception has occurred; break into the debugger
-                Debugger.Break();
-            }
-        }
-
-        #region Phone application initialization
-
-        // Avoid double-initialization
-        private bool phoneApplicationInitialized = false;
-
-        // Do not add any additional code to this method
-        private void InitializePhoneApplication()
-        {
-            if (phoneApplicationInitialized)
-                return;
-
-            // Create the frame but don't set it as RootVisual yet; this allows the splash
-            // screen to remain active until the application is ready to render.
-            RootFrame = new PhoneApplicationFrame();
-            RootFrame.Navigated += CompleteInitializePhoneApplication;
-
-            // Handle navigation failures
-            RootFrame.NavigationFailed += RootFrame_NavigationFailed;
-
-            // Handle reset requests for clearing the backstack
-            RootFrame.Navigated += CheckForResetNavigation;
-
-            // Ensure we don't initialize again
-            phoneApplicationInitialized = true;
-        }
-
-        // Do not add any additional code to this method
-        private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e)
-        {
-            // Set the root visual to allow the application to render
-            if (RootVisual != RootFrame)
-                RootVisual = RootFrame;
-
-            // Remove this handler since it is no longer needed
-            RootFrame.Navigated -= CompleteInitializePhoneApplication;
-        }
-
-        private void CheckForResetNavigation(object sender, NavigationEventArgs e)
-        {
-            // If the app has received a 'reset' navigation, then we need to check
-            // on the next navigation to see if the page stack should be reset
-            if (e.NavigationMode == NavigationMode.Reset)
-                RootFrame.Navigated += ClearBackStackAfterReset;
-        }
-
-        private void ClearBackStackAfterReset(object sender, NavigationEventArgs e)
-        {
-            // Unregister the event so it doesn't get called again
-            RootFrame.Navigated -= ClearBackStackAfterReset;
-
-            // Only clear the stack for 'new' (forward) and 'refresh' navigations
-            if (e.NavigationMode != NavigationMode.New && e.NavigationMode != NavigationMode.Refresh)
-                return;
-
-            // For UI consistency, clear the entire page stack
-            while (RootFrame.RemoveBackEntry() != null)
-            {
-                ; // do nothing
-            }
-        }
-
-        #endregion
-
-        // Initialize the app's font and flow direction as defined in its localized resource strings.
-        //
-        // To ensure that the font of your application is aligned with its supported languages and that the
-        // FlowDirection for each of those languages follows its traditional direction, ResourceLanguage
-        // and ResourceFlowDirection should be initialized in each resx file to match these values with that
-        // file's culture. For example:
-        //
-        // AppResources.es-ES.resx
-        //    ResourceLanguage's value should be "es-ES"
-        //    ResourceFlowDirection's value should be "LeftToRight"
-        //
-        // AppResources.ar-SA.resx
-        //     ResourceLanguage's value should be "ar-SA"
-        //     ResourceFlowDirection's value should be "RightToLeft"
-        //
-        // For more info on localizing Windows Phone apps see http://go.microsoft.com/fwlink/?LinkId=262072.
-        //
-        private void InitializeLanguage()
-        {
-            try
-            {
-                // Set the font to match the display language defined by the
-                // ResourceLanguage resource string for each supported language.
-                //
-                // Fall back to the font of the neutral language if the Display
-                // language of the phone is not supported.
-                //
-                // If a compiler error is hit then ResourceLanguage is missing from
-                // the resource file.
-                RootFrame.Language = XmlLanguage.GetLanguage(AppResources.ResourceLanguage);
-
-                // Set the FlowDirection of all elements under the root frame based
-                // on the ResourceFlowDirection resource string for each
-                // supported language.
-                //
-                // If a compiler error is hit then ResourceFlowDirection is missing from
-                // the resource file.
-                FlowDirection flow = (FlowDirection)Enum.Parse(typeof(FlowDirection), AppResources.ResourceFlowDirection);
-                RootFrame.FlowDirection = flow;
-            }
-            catch
-            {
-                // If an exception is caught here it is most likely due to either
-                // ResourceLangauge not being correctly set to a supported language
-                // code or ResourceFlowDirection is set to a value other than LeftToRight
-                // or RightToLeft.
-
-                if (Debugger.IsAttached)
-                {
-                    Debugger.Break();
-                }
-
-                throw;
-            }
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/Demo.Phone/Assets/AlignmentGrid.png b/samples/Demo.Phone/Assets/AlignmentGrid.png
deleted file mode 100644
index f7d2e97804e451530960b57429a2b0a26c86f5d7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9042
zcmeHLcTiNx)^7yKS)zzL1OX8kGD{w2$Wf9ckt7U?2q-H_aF8r6h)8x2L~>9;21!Z=
zK|oOA5G09+z%Ic-3G-d{tLL{C;(J@)dsVNt_~Z1ww@#lvp-=zLxgB-VP>YWGFf{;x
zPDfka1OQU#^&p@mhaSHf%RGS|RG!*amjR$Tv_m8y^)3eh)JEq}sFNpMJ-j_GyLx!S
zbWkXm=Oqu9a~GTe@EyjQqRmX_*pvxlt4O^_%pE-s6IM!?2{IbP5+@+cL&c~Y$&)$6
zYFy8xp+UygmJvxB6N9<QYAix~gL;r+n&*B@NLJ*H_Kk^vEVup|!n@Ax@&T3Eq7`ge
zH$@#KZKAf6u?&VbA9<ANZAfcV%fz%8BAA-r6EISio#nZ_#YY0xgOrp`@YYd010=q$
zX(&ORL0X;okq9Eg2V}}=5=<ybop;>NdXyLzfbfq&<^Y5y2?m=iU<xwGfPIIP;}ke4
z3hV{1y?YHX*!7eE5@2(Ohm|BF4!{mMN2&u?MNrgz>V^ie6bCFWdQI|RP!x#kSh#3|
zM-`y1i;<=jP|^Z%<H)e%fGhymxAF1$g3uJeqPc9L^!tet##vz~QYocMmHhG=!8Vkl
zUKAD<Vn>C#bl6X@$T}QwNJWS>_@!`421_%%U3m#WMjR{T?aG#K7kx=rmuw7<-cIzx
zb8;fDqvO=}On0Ft0)Pqcpq_0Jc-di$B00u=`~I;-GS@RS8NU#sT}l}c<sf5j*kZ+V
zCpH?Hw<?E*W~QeHb(@ej4(%3!+vo<nI*Y9fpM#V(32SekP4Wjz+6HTpt-oz}xvHOi
zr295isN=}HSgp+p8saARYu+Xu$4X0KmMLRquNd{zn=6vpyiv&8$D5D!63<SKi)@gp
zjLU#W=T%4o;zaXook&0F2{KxG*G&=tSg!V{e<MUmig68@==LElscvay90M2^o!edj
zoKfc&GixtXZKVW2JtJ87ks8-(J%>mg`H}jABlR?!_OhW!{-y>bBa-?o=Ex=c<3-nz
zLgAf{xP|TEZxGzlb;hpY@t*Wz4dzejl|320I8dh73)KWuk*T#&9&+FrjwErsVaXRm
z$(|Cn&Qq^V#vIKLdlAWE%&QkCqb*@_!whDw&AqIA>41F1Y0auQ#Wo;$eKWj9OX5y&
zsj>1K+HzE7p4{P3&HFU3&U#Cv#<FFky}I<|u<}jW%-L6kt_;JmDyUZRy7wFuQcV}c
z#abGXkAD`Sig)UG%v(fT*mC&MsUp(qs5PhV$3A4t!5Vc`vSdC;n8Q&uZA*Pi!$Ivl
z*b#ndreP{MD$-En20`BVJiR9ZRZO3oI2<J<A}qB<`1+Y+55XA&B2i6p{LE1(Nx{ln
z2Xr1kFzaRR)$F}!!Z#<9pC+w+m@odt@L9J~3i&%CuoG=z)7a_8X{l+hX`W>pYOEu|
z>%qF|q>xGbd0oyK#u@1ua_3}8HS?@glhM3PGbWi>Yh-aI&g7wSMBX9kUsB~eL)dim
zvWxF0yguy8?n*fK@V$2x(`dp`!=zUhy&ZE}?~~q>uKLi@g|mjVMxuo{(>N$N(40OT
z50mwCIA2F|wwj5{Nz5nDrZA*<m|F_tgs-y3wNoePCI}>O3B%3u3vvp^3TVt%%sb3t
z^Us(DmS~zwnNH<Xy-6%IFTkFhH{~)#=PTw#6rl4w%v2u)S#3p;TQ%x88lfH-XFRr>
zs%e4IIB}NwitxD66^8#3EYl?LxO3?072)dSE$-@Q<%0Z7d6bl{ltr1z${iO~im7C;
z^}F7NRI@_4Nh?7&##ok)PafyWk=C!2a6au;keHNcS*TrTT&Oi)D_gRVi_NLksJ7Y&
zrdMm#6+A7dg^ukyh@CYZG9AsO&Sf)DR#+<$D{#x^%B)uRd44f>F**I&8BDsqNA8$k
z?d+E$f$%M}E%z_EYg)9H<Ylz{<apXH4y9%pFApVdcq{&QW0Y+p0+sEM;E*&C8duq)
zl+~yCt0u$Eb1kQ*_@~@k+*`5)$OU)=^b9^2ET)<mROTGdQPfw|Z|!{9dB3wiMJ7#I
zVnA{>Z8mKnZM?$X+SghHmxp`mtW!E|ony6#tGO6vEpL@=X>M&>rdf<FKGt7dT%F65
zTWJ_?SeV|AZhZ7R?gcKtg7eYLAUVDS=Z*_>Ks&OdE1F9h7vpQ=1FHgm-BPBYix{FW
z<hJGxy8Pr4i^3^|vDB`+i>iUmtBG@Pv}HGA_n_1i?oh|^rgK=+wAWf_c68<Ckd?^j
zD81_)Vo54uX<RL%ZMD<7-fLdA6aKwx*tD{=hJ`%*!$sM}bBhrp_g+fhJDzSOb@^3e
z8|tm`Ophwfy##T$@uDCjlu<Cce3lRH1dp>Q9(Yud?NdN-SYlWCq;l!rl**Kn+?eE;
zmEB9Zx{9`n4x>hobi1%|)HOchS)xC&2jpUok)TPVg4Kd;4s5LZU*&loqpE;+{!}`&
zpmsB(QjJwD_ImO4nfhWL*S3$hig^gL$z5?>=jg*u2EFfpMd9$yA-XY$Rxm6g%pzPh
z#xv6LaF0Zij8D%9>hiey7xhH-u{5-Vk^DnZT^V7O0<rT-!*W&9RjMswE><u5EU}h4
z7xa$EiwT#=UcB&Zd~;zXViG$^GZny|3~#gb^vmpOSPjc%%NJu7QAkASM;iWo=QlM*
z;XJmR$CeNI9E+j$Yv67`^TK;%dm;x>r-hFiE^7-L_}~5*S0m%c-z=3aGE*5Un18EA
zpH6=?O(C5v^$N^gQdyx^BII`5EiYsNk3l>R{Q>>X<w{49b6Dwi^Tp^2_|XK47j9*@
ziVj+dQsa<0@6D`*281a}(ashw&pV^q<r53jPjoK4ENjQ#lDoTfkGR0xz&vpqmmRKW
zA<Av}uD0mBe5sO`AD()O_27x{Q{+WTPjBFa-TRCR7c7!Wf@%f)4cvmy)VE)+FDG%E
zr!l9V2@9Mb8CbA2vV>cWmpgn3$8xE#M%^f3!Lui^UK<n|@txs{@MwRYGIHlheqmGP
z*>0C!m$`RiqUkpDi3LgTlISne4Glk`8$b1AVeOL!9-h=Ggs%?4p(?YUD?P1o&VA9<
zsi<o9z--m*i<#_V?`XNh!1~3WMXrFFPtqUz@HRDsEtMC~@a81u27NAl&Ko)#Wdzld
zsDiom#0_`bVncVYg;vsD(k%);dfY(en?CMdWiyl5{uA?B^sPTV+r}>Wh|<Z@ng4pX
zWs=WR-EVr1Ks8P{N~bV<<z_(91jXy0u5hEd;pdU5%c+`arl}h?jy6?BFI9T_KaBZr
zYT<ukxGSw><)^!1_Tt>|-1XP-=;iL4*aU1~kl5!Dd;EP|z^qf(_<078r7A}6iCzt2
z^sHiyV%O>Ar{2q@_?bf%Pc2d(D%iPy@cy8*9sk;>wfb&#YDwj3x5`ET+VTJw!W>t+
zT-WGot>5o##Qwf?dF9dC6@L#xGhuC<Z8YeT;8s^h^^lL?VsVX8jom6@L2U>%8qud}
zvpq7nG;-~HolnL}&xjU*JS?PpJ8mtO0d+7oCAK4+E_^=yXBBz*N!3eRbDO!S?z7zj
z>FnG0w>wJM+2BFzee(ldJ;^<pNy|y`&)u(PZ+)nn=X{87X=pk6?1itC#F^Do8w>S5
zBR<?qS>p^w(^p~Fgov)6AFr9d%H4?PjE^UhktVNfI!TG*p?(wQq-|mVfd4T7Fd+bZ
zCPL3S0Dch%;DbE?3dsPld)&5b)&zhfP)A+O%y;<XP%zbqIE#9{&{G&;QeiY&aafus
z=BEYygVqkT48{D{pe5+9*^&SN^%MYVlmIvY5hFwxhyWQxu$>oZ#<x@U=6qlHUtIR9
z@Gga4Ip5Wc*)j6FoF6#!UuILrpv)I<g1_dyr4F~kV%)I*YX4k78tzMsdwKbWT}>Q2
z<f0HSG$0`Qfm^$_61Fq{F9h_*q28_e8-?reV*ZPeGF{&tjekKa0-BD2=m*<4`0;RH
zRe*9<H({o{@05+Zvj6;Qt$|HoD{gpr3qICH14*+mK?4k;zoPs9<?+8Dyel*9aS2VL
z&`wgp|E<=(l`HAVtsap2a@FpPjeB`te^!OzIQ~hW&xOL`QR3vUHIOz0)6S;+m*qYJ
zGU;2JTx@hkAS3VmwqxnP&)T4={S<-%x_8d*r_leR(B8<kpF)4M0{bcS&&tex3jGt{
z-aCa55JrJC+bkoWhv?PM&uVbP=L?IqJh0Cy&J`{Vp0cSXHgoww@x}1&l!jg9^$+pA
zi^krZZ(5nJ=Iy<a-_?wPO!{gQhS;k+$p&3hhVJxlUzhx@;O=mJ-=2R6V><WC{Z6d+
z-k*J}-pA_yJBvR^l>HRi4L-0xpRK)-YrkUzm_J7fvGegwiP=Y?eH7Y9A?Q@>v@`#q
zs}BUU^xvan{G&>}#NB>+5W4T1fQGNV<PYlCKU%^+rhEfF-*7ft{tkDHJGH3p!igvw
z=m&uL4D^A3=v&DB#_L^OG;C-7cT0Yq$LYVpPse{Ug?0rK^XFi`Wh9b=Gz-oH_UL$l
P9fppEp?V3@{`&s_N`kct

diff --git a/samples/Demo.Phone/Assets/ApplicationIcon.png b/samples/Demo.Phone/Assets/ApplicationIcon.png
deleted file mode 100644
index 7d95d4e0810f4a4c85b5bb631ddd4d3a6be24ca7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3392
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
WvY8ND=rdIS0000<MNUMnLSTZS@prQT

diff --git a/samples/Demo.Phone/Assets/Tiles/FlipCycleTileLarge.png b/samples/Demo.Phone/Assets/Tiles/FlipCycleTileLarge.png
deleted file mode 100644
index e0c59ac014604b803533ef2debb7c10874a2f607..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9930
zcmb_?c{tSF`~O?kLTEu`X(ZWYLiQ|C6os)QTbPlZvM-So6&_iKP<bXAyRl?nLm7Jv
z#u7prLmK<~J=61if8Xc%egF7fpX>U$uDRx#bI$ud=iKLYUia(1-=c3C=&~N+IRZft
z>$R)eMi6ue2SGG9nHWGz{^U9qd>!_@YH=Teq=cv+8h?zsF9aPiyr-pg^QM!>1CRSo
z9-e~Nw6p|0y*-fkTpc0Ee>B4wWn#R*sk$+-s;M6pmZ<MxbdpKXNb`BviTHD3XAZOL
zMV)ywa`ILa$CWE|ydAHjXk%l;UYxuo!Sd|LFypr~Z(}2}qn>@<nF`8w8LHiw>)J0T
zsLkh7GH^YNjZ7@bSK+th!dTvG@^gHRXm4$s`X+Tb{K#2Ph@A=NaOVD=5Dl~$s-hwe
zYh<j4X#5A5nV`lS>5Vd{pB}LN&_v&%342V__#pn0K2z8U=yG7J<~!)J4oz4_>N#WR
zH63KzX@7SHx+w|SiaeYffWk61(LpqjW#XBWG_T_!!Q+lm+K`hnl;30e><VNq1D!zX
zw<<!zl90?bGvrmMxDsmYW@j#im{=g0TTzjs5M2;t+aV<64?RXhCv<+9sjP?>vd@bF
zPoYays?I823AbdD^kOtKlj1+$eT_@}guLA$yR^$v%>n3Bvf&rmzEbcI^g8||*ezwx
zzx!xmcei|O#Zeo{9}Nr#u)B9>_Gf$YJTF7g)PvBzeF<qCPna@8nA`qa;UzjJYv$KJ
z8_$uYY?sTS*9)U&6i=#euDto9YGh>g+qYr8R!vL0&t@U}sAii+vpv_XP?g<{wXgNl
zXTxQ!!gc93zc%AnuVYU4ygdB)?$}(M?rtUX!7kqbto7R6Ds!<DGq;X;#cHR$pvYoi
z(V8zsKMMCBI80AU?9i%B%0b1>YBWLdlDSs)wCnmJ?B)*|r#B$zSB*#0m-9@tVNMZK
zJ$?tv>U+Acg`qIywU=HHWUYNx%H%Uny`2eyv|opd6>IRWHgQWdGMsLrA8TUXwUvLY
zdA7A#lU?(OL)d9=ThaVSn&+Q%74wPNN`JY`cd_x7(~|_xqf*U?4@Xr!*|zPNGMmoV
zh99QW=wLc-cV;w-=I%3dp;#s^bmZolrmJ+vo}U%`6m{YjOg~=k>II``CW45oe7{t^
z4=Fyqqf;HP+yTix+I>>1dm%Br^p@%umU6ACTm_!TI&YbK9Ufdri{pHq-s@e)qxwSr
z&3td36WeH<npV3^<9BXGc&n?7R9lN?$t8)y3HF^OuzZ%hHlAYBeA=4mHT#|tKe}V#
zR~iq?)A?x%+VN{#HNS3dFnl#v@buY>9HWO74%0rq)hq%_$ki`9SIx22%6(V%!c+6B
z5<)}A;*LwR2SsVMDx5tQttBf`^~a%WC4ZXqAM4lYcQ+DRka(Yd@hXo{!lzLOmr_Q>
zL<vFhj>vBr-&(%Gzwv%M^ULx`#@)+ae{LF2pEvsKtaoabefHukgJY_!1|mDnXgv3g
z35Q(VZOwu=6-Gt3p5`9E=#!?{6~TE;A5-u)X@JLx%W30Y(f0?{9OFs+1}VK}{hbTC
z-&4NRuKKaCJ~<iD9)&u8DxI5=8+FQ$yD0VgyHf+tPqmxKC|n?=&ZF7T9td->3bEjm
z@t=<*=_Q>@;uVuNd5?XEoxn09D2PszxcAn^A%!{!xbe*U!(Wo~5ZH{HBx7D<)O+RJ
zr&v_3hl%>1p%#153>GcdTMV`Sy!E=oW~R1HklFqe&R^n;3v1pJpK!U>b0u9P!M<WO
zse61i&sDMS-zaLq_26bWBT6DtopC1BYxC6ugTwRZb5baw&n8YRi%yI3zPot6>Vo4P
z7i@A$vU%Rsyjyv?q&oRRa!$s(x+^snJK;w)+Vw>4i0Go?y6H3KjYo{fbB^S2-cVIq
zE0n^zV0houX!|v|=PadW)?0^VUiZkE2&kLiJ{=;xXR_zEowKIPV$OhLIm<v~>E>4X
zDCgy&!YAEMT)CxX)pA)2W0z!?GW9sVs!t_*P$x!*?Zv&eJ2Piz+}hmQvd=M`J9AF|
z#*Z6IX+}4y-if|bzOH<|y$j#<wrdD2m#%t&AUmHvpH4`hthBxDe_Ns=x8j52wbF05
z-&rhG)VfFBR<yvFBW_#abP6&GgokPhYH~Postghg@-l}|EyXJppDNy0o+_RlW*`<;
zxK)JMq3&{_DnAysEG5(>gj9#b?5Q%cJ{>ul$9J1A^nRK52_;jdiL~xlOX?vXSCbc{
zQRY4DJ;U&sisPN4t@kpF(+6}>T&Sx15tOLs(fW@%rBc+S(s|p)JL<maJy`RynhNY+
z%SgwiH<NRTMN9Ha_m-ZHW#KPoiDp{B@AtNJXnnmk+o#T)l_cXbnICGXWf+bspBIw0
zmyS0pAQV?({IDB#%Uo*fYTj8hYBMSd6S5N)Hh6``%8trT!xoQBo5)G6he8Jq2Z0BD
zP)?XI4T?58TqE4_(9ULH@R^2KbtR(Xdg%yR<HhSLjguO2j|v{mHWi$4>R9}v;LOH+
zYIl71y`zygL%$F8GTP1AJ#PtR5s7>nY4$`t)-%eSr|&|FoL}FV*8NHCZS7?3iFDKj
zL&YLVJvlKotdz6Ls6zF{YV|fLqy>J^Jj48&tNv+4DX~I%ch~yKT{7kAbjCFEOb}P9
zbcdB^z?<&o)yN#q_fp3sl#(xBk21KF_)~*jESK|z@UP>3!m&pJn)#YhFzG(|zNlfX
zJ7W9>zpjei2z<F1Un>`I_9Gl4F<bRm<ozGD*IBQRrz>T0ruhoG$*L;VU5I!Y|A&_*
z_RNih3e*qO9MZQl-!Zau|D*f!N@@Ni#!oJ|Kl14<B#%^RzWZ)+`#eF6u@vQKhHU7H
z{;Zgsmnq&w#^XK{|4?|foOM7x)_iR0Wd-JmzL_MS`CMJTvtp@=R{-(I%t?CjC#DSf
zDj%Lzh`9|K=8?@(3PbD81>SH8w{H6UsHvRBg~W_FG8-8}8Y7Uc49%r2Cd=)%pJec=
zos51~c!J24a`NHu`7!@l-lra)8_;8kW$*J^s~mce{m6y63CT>$qsiEmxs;>stRtgk
ztdpi?<hAuHMCp{S^Te8n3azT_29*!Bjya#YyOh;U{xn%N**1}1>K`w+BW$|&E%64`
zu3uanBwE&P?5TaKCn9JNHwKY|jyu<Oa2x7{(b$E}<Q+Gw0s}WMayxB5?H;4h(F#J<
zmqEUMRTHDQA#sxK(RP9Q{fuQlNmhAQM9izUX(3PTfNu*MhbK4qS(Qe8Uj*e(F%Ag$
z@}c;ooi)>brRk&_r|nqYwX8P8tMv{2m<Zg}B?_>;x~O6iphq$JbZ>Ow(Le&~SI>)#
zq>PYIsjV?v;@gU#dHe23XEu-JYW4?H{Z|g2&nwp|ci;K-;lZy`;_Pv=4`yjaN;Ymk
z9{f<*PZ%(4uX$CIR#<h%rD`d#t~?02vA~<D&^^9d7qG&4Ff^E{s5)Lp3G~?bxUn|L
zIUedQve(^NGvX(*R8VVJYqNTptTCcB{&Y~?a(`@idF-Kcqu*;v-<a+OLu5qHe*9V-
zn-+Z>I<E5x>l0GuB{fCGX?5?th20#j9*3TDnOysC_d5%@IHf~32T6qPzSO=qDZf$@
z8r*_0dp{aUr;3Pe&29YkpZwt$tXEBU$W4A@etgT>lWd0Hf(0L*KXBSASu^g<*-1E+
zkZ?dpn@ZWWhf5NH-W0UIYIFmF0)-(cECPbI4#4*U1o_B7&<|S(Qc8s&E{~TsA9Wyz
zckP<ChKc{^;&@2D!-j>x&v`}oMu<&qjYUulQ+YVMdCoPCYl)X%jh^lBI>ymYCvxxA
zmw+>x^zR>W@|?s})tEf0rZ+llEEnDMo;4a*z%IDR%~Mbka4o__vt#tg&0@{FljEfP
zx{-{XQuzJQy%xffW7RTzW1`MaO+fUe-yB}?einQyV|l9!KJOq37HlhmO$1x8<Ak8c
z77)aar1|~1oJ#*cjsM+2ZTwfq{~G;IGyiM!Kh6A}@Smfprv7F7pQHcP@t;llpN;<K
zr2p?F`aXYmtkJgf`W5qtg@uK>r)&ah4JV0Wm=}(7i#*9V`>=2nlGAprce7OM>Cy4J
zlf<-FukvBj3i_giT$L~x=3cf+$GP<C@uhD_kMCLn+r1BCqtbs=*WVbSF-@s|_lQP-
zuIyBPZlbJ_UH}ZvmT07hoOp$1bM3DPy#!OM``IInn)53xt>vR*QGw$i@tr2TN-_H`
z9JZ91p1!kwgQ-+HHp);U@OvaCF-26JI^%Pq)YisSe0=<Yh2AL=fuTD?*-s`D9nWX!
zNQ9VhkjsE`d7%_$tgO{ox{$P;y*J$U?VCfn$7KCvR1}x>_8rk#K1?D<&>`D^K%`wS
zBaJGqQw+0fqCHkWM)9#a(9Z7Lyedun?pvd7h8SctGyj&1S1G~o;1Zzr3lV3Sa1y+x
zhK_T6C!5`s;Wp`LHaCa841@WnJTYw^g{8wG=q(02PH^157O8HPM1?D@k#F9-QU9?~
z%@rEFwk0Q_q^hjEGd?pjV`JH~JwHExu=4ZgPc06wk7CQ&%AjjEIyzcJe#)cvp0DqE
z{L0Eo1Mz(pO}otH9*JUmx%4g%my0}XDMq0sS?V3PJ&8Oi$|_1q+Y4*14+8@Omw~P5
z!AFbDpLFblgLj8Q_w7(Und3HkTmIU?NLN?aEW=}h_(QG{)rA|<cce%nu<0Hmd3|He
zzK)rY9MXO}r3b$p6LnCU>?k54k{4MMUFXTSJYNwyn4jo9aMJ9~3MR^b5@$Ciau~p}
z!XC=Qer#BMs3Cy5msL}-sI+@EXCUCfnK@*$MPT0+S$|Jeyc?g*On5V1{1I1z-s)0Q
z1!q{iw{CT8ds|LFh{({gR&=M<e`U5)b#mcBXl~*!0r|~L`7!6>R@cS5NF<FNr)|1~
zAL|fnPk*7O+X%vOt{42(6_}EK2p^i2i_w`Oct<pR5XaP#zI{sQTB~hyl>j?j#LLu7
zS&RbrS;BFBEkV^_^NSN7o9+WAd1#MuxokEOjy&v%Clxh>cAW`I8X5k$3$al5^y&7a
z;cDc)ofZ2$eC_^VQRrHajtV8BD1wnKR0UR_M_7~RiFsHuD$AQ1<MZ@_t*(n0O>snl
zXq03cCd9sGJhaD~fU){evDjCSKVdS+sGQNA0<fX}EXs0wbz|RFbk-J`X*IVuS;p=_
z7&E#_SPK;pvK4{DnHL>Md(VQ)Ek=pkN{yz2y85E+JEtcmLl+|IR@<z-uP}l8Y@3&8
zq(j(An+?222yz>db9bq2-zS<&dKP6XRM?2nLCq4EvzqTpYb-8z_50S06WqU!mJ+8N
zDHIA}ZAFhBi45nv0g#licA}MYqaSQV#P_p+>cxwzIL4!=H#4I)lhyLO@l+SOCWO+L
za7pZX=yu>0Y@~o~;*E5g;)KI@Q+f{5fMXPlQal5wHoQ}>W_-UM<GwQb+~^tmP?pmA
zo)T_yvrQpWK|x`I56jGiYh2=X!v0`vYi}1QB5g|p!jP^Yk_nkgKF%N72h)<s5%|Te
zKfh8>(6=Teq>{K-W%PM|V{zm@(!t@IFqYZ%(<M{ATlCzEGPnhzQzen0klyu_Q{7Y#
z{R#h+R9#;*?mnpi?g4>hF^|XNDeY}-^>^9U7xU0tyKD7MZ}y9%F=MAWimZbza7KES
zgU%rX6Lmp7uIuT3EVPd;*pZbE%9unrhnIik75+TZ_J*G5hWgqU<1E$S&7WI{AwMha
z;7|OEBM*?)RZsR5hRD7i9r$!Og;AEGY-YaBhQ(IfJy$bZ7i77VGIyxra|Fjqi@3_e
z8wi9zR2183r3blIgtY@eO9Zm705?DXzPi3d5voEx*^Q8zmDNx<;yPi17$m`_5ivUU
zt}!$e4M+NlXJ`xVRSjDb66x_g%7*yWB}ZSh!3Ht7H{X+WfUghP$&|p1v2%!!o9crZ
zyx(-2X}7X{@d>$)KomvCOeRjvqPKD^SF1{CHB#l+!(?i<y0g?D&St6x8El-XO^n*S
ztG(-ktpCWrXk|rE&q5c)Mx{8;-Hgk#G$uZhp`Kdo5ghZI1rsDcV$F)Ijhukt4_SW1
zRD~6=bT{N3shJ4T1B@H?x+V6(R5Se!_ps3@i)}AsxTGuG{DTXj%2W7})%(O>R}lz;
z+lu^2euh_Q3tRCBO0agYsjx43e^BQT6&j|5@}f6>(mR|0OXCFt3o5xsYWjn<ccWzi
znv3&dUc7kqEJ`}Bb;(Gt%HvH89hF>FLvS_H_|Y5yLzWkeNw$7{YE)Z|mqNBzLsqWG
z3D>lwaE<B$MPR$3?EUR(Ug9ssq+z)-ZeUWzeARr3f83o=PgfD69M<%j?U1EEWAVqi
z`S~JVa5OJfi)XrYTldM;FT?G*ZIPVAoXo1p17an(BqO!?mv<U{W#P;bYE1cd$n`Jp
zjazi%`1!IjGBR?p&Tp~U75pnF`Sh7_cRv_R2X^;upVJG1k17YpagGc89LEuem=vRP
zu)8pL*3NR|d{H<4Opu-K(-Cykr3`dI<bk^*QXGa9x?535LPt4WX}zvphQ&Jj)Qp2)
zay&7nIRj`>Oqrf29FsWI(Q%dZNhIr4)l97N?SzDcHJ%C&kuVt-LCDT`u<<84>ch42
zVNE~e+)ktg@Yyy8vOyTOuL3K)d7+}w3^px{-YSz}&es8SkleVF6t$@!*2KBhc>9qA
z@M^wD@5Ct%wp_aO#cuqnBJEIU@UN4sEWuZ;D5ayU!wxR)(&npZ6FF{AKq+f<He?3Z
zb7Xq(pljgkLH9;vuQlYl_~Dy45BH{L^%B8J;dRf@xOMS&TyCJuS3Ld@@8QN#*6$*J
zJrV#OxvV~xT?c(%@c;eH&FU$Fv%+iL9HD9DAas%s3oUr2j?RwEu&NnE)4NmBVIj#9
zEJzLjvAjpS^#=Bn(pUm|`9}-NQ1~yj6Ysz7b#Dw@9kT{p*3*xKR)yGI6l_(?xS%~{
z2F1L{aJIK0mMOlpL$9UD^v~7qiydjs4~HI))YCJQ8S?-1Ak#NX{FHEGxU3#g;!A7#
zw(d9A5hIzoLUR&-A(CuMj6P55v~rmoqH^Gc+!sDd8I?&!p{Toer&sX1NQ7MpzP2Lq
zm$~Sy1Bi;tU%q^KjHM#FV3fQrt}p7R-8uupmodjm8{RdSrIT*-MHDZH6d7jL0kbBe
zv&YH4JLTY5W3M!}wR3h+WPZ}vTXptyb%l^X1S~)YxFG8<(=Q-IXTfZPTU%Q-y1Kdt
z-Wf%R%j`&2IzfD)D^(FtGB;`!bX$X9(+mjv;}PU}S;`V+zUN`!WPOO?5nQ8la5=5S
z0+o4<KHnI3-ypE@DP26tk;U#X@+ct>Pzqnr#?qd1C9$qD@mE`dh@m`!!Q6Mu)0CN3
zfPa6Y0Z5pJJV0M*=;bcFkXWm)IOaNPPDE(B8^1d(+#?F=!wiSGS7n0scelg=qf^$6
zKG(o0K_-!%mxlKPL}weQTk-}@I}AilD*gU7?OiYJ7ozma=f8vs!HeReq_GSv@~SwQ
z@2E1g&G!dNMWPs$LY~Dx1a~Tdix4Rlr>U3v^^+%0_8ov`!eA2BO<AQVf;&N6Qg{5f
zIyyRRav7)~K&PhqPxt8x)Lnq7z2mv_Zhv59rrpE3Q@AFq=?#jLA%xw0S_ucl93KJ^
zq5^M6M3F&&c~9D|>q1f{gfoo=|8nfU7B!r*va;?OAg%NCT(cXh{a2<flU>9;S!l~n
zLHazWPAU3;{iY-vsb%xHCLGT(%-VO~E1_PGj{Uuz9)9)ET~;5fN$cz3C0F!BF@+>H
zer4Z9vTp3@d+(WwkGV0(e2-|9bz?~R@j%HV7yIKlI^gQyaI4^si4|elRX%;A$SdGV
z1PxH<<_SpLRt=Z5bujRyKDOx`{fMrVb?s(<IfDfd4CX0)eSHmz_vi59KdSf3oO@9s
z-LDiWzo@OZjsSnlcf||o-UdK)<5(Hkb^>_9fKX-lJ&s;puSbGqTd=q-a|BaHB$Ie!
z+Hzzm=_W5(=|<kWSMCh`7PfYLM-I~h#ZYXgrKQDI!z#tg@+K=iJw522v<6iN2g+Z#
zu%azGtCnP|DogS6XxLj9F*)=-KxKtWC%MBvU2@*NJ9kt-Z8r~r7=QcHwJ~}i$FLzM
z#oFRG9_)Oziqb)dbock)R1lh`$6jT#TaCx>zQON`+i?yvxiK{A9BO4_V`UAo{sY4%
zVhnT>6(t_Vtkm5N0`Wgc_C2r{ot?m+Hsjbn;nYsuh@NPrp@D&t6b*@2EBFd6t-#r#
zvazcB^GBD)Yc>dQiVwC8DT>*h0M~t@3M3CAgb%fE!~Y^zM*zDd010q)CB@n}=|&rX
z()R#|zQqh29#eEb>?GiV4F#SUb#RNCkLSBQeey&tCypB6Se1Q#eDM^W%?2K~M=Smb
zbM<=7=W&rI>xXZRfFkHCeg<{Ma@D^L4`*XN_*!C`=d(6EJbciBUq+m%AU2OTPbjIW
z?U(-pjSs<c-sxm}`62mD`J}QhD}((`1}>02_*x*~ooU;j#$d8gjpWXsf0C|d_g%8k
z+u|4mq4Dc7IxQ^?WI7u<t>lr;JvY1iwB(!G!Qik%?+8f#92@=$_}dkLeNst9W!DnD
z1sk-@@vn&U1!CF-OB2zBmtgsTMx%>BKB5TQzbQ8?sv!?wUV5NJ!P2CnBQ*r*IDJkg
z8d;kY)@t&w)pB>tk~_s4)vWcZat0R0<YZ-keSh12lJU1N@G9Q(2Dum7zCG58mqS6P
zRTYzXD#<P#KjgEw0N~a((;lbZ(C4&E{HVbx*o>FprZe5DBdo5jPS7$Qt;O^?)k?#x
zF?U@nP(&t>qsmei5XlIczqzn$Y;3IZC@bsuZNwnpLY~3wI2zwi@{i<d4OVO$@4=xV
z*9Q+)Jpli%fCYqDsti2wM2XJwinTD@6M_PfNGd&iUnwm$Ha0$PX5}+zsVBM|8@240
zaoZG^3GC$SYy2H}D*y1l0d8qGUcis*g4C9)3PNvdIFQKnm>PvEB=9=gc))n=fS0&n
zcdz?coKR{|148*FNLGs00_vVI(;D<h^eO=A9|Y-K(cw}Ful@&4z~yG(-t25n=W{Zs
zIjp)_0kRg!!*0_f9O;)o<Ab)#W&gS`71E?W>qedylns&fG!+7ud&;<qV-rNk43{6a
zpG1|*{G56_@8cwGOS|3g{*{}72`7kOUkxPFyUILX$BZ{#VCh9duBq#X0xw1PyF;re
z6)!5=i^=caCeyECiRAh^K=?I%1m!0*%@RyF-oT9YL)#A9&5_K~qcwiZr~bZ|)%T=d
z#~ocB!Of>6(F~u50}795WI!Uzxrz_Ff5IOpg~Z!)3*sNi)D+HwwrlcVsH<@TXK_7<
zCjDv+P4O8dHAN5i!Q-8!ZJG1)sB2?KYNT2Xc#kp<!${5we=%-ezjY%gSZe<Bza%p&
z90&RtTz>bb=|TAp-rl9pqPC(oJ*@~-5%!lPLo2>S&tMXxqf(=yRwCQm^+k_^EBPqV
zXcRpnhQVuV11$!7yS8YLNi;<u3aSgUg6b1x^Sv8y{{`;A4;f@<gA66P;MMPaD<dN#
z(OB#`ES9GSAC1H*PLO>?u-NS)bU>^1aG%Cnk1S=<PbmX!^!fhO0|$pc*S;kfc8__r
z^A&vh^eOOo<^K_Hqzv_k`=3>V)?ZaH`qnPsYrT0}%2XlRZnnlSw-S)hKg1rXX`TWh
zpOi=gI3?VOu%>PtIsRtEbu@*lh=;!#BZ_WCj-P>(^#SG>bVX-Ba(I~w``$<m`AF3v
zden%?UdFwsBt*qBDe1SFKhO%f&4u<^hluyDds!Uk-n6a45XCX4UqrPF-PK<6OKO*;
zj22Af{w0c?i#QzoFfMoAGJ_>(ct#vsH0VMO)YAjWO`vGK84tYtUTlYR*!y>tC0ue5
zo$)t|>tpL(sQMcJY7)z;^n?ZoNXZ$O?^YgXVb<?i!1@>U&|65v@c11qZeSXu5V9}P
zML%Y?>kF|Vd9w%PnZwU5iHCra+IgUqLCSur@110XgiTipP3r<RVv`D9b`7fWF=2lY
zQ7BYH6~L<q%s{(!K=tuRHYgl8BdBXMyC<Jca=&mMvugpeA5eU74_@ulWpkKIm!&ks
z#K!JBs!;5OwjDqj#RYJEA-;CDiBUiW<dC_fZJ_DyJ7zSL^6>EuIzz6f%-~^w>ngrG
zGx%6#ea2_!JthE7<OhL!AJAiu!S(AZCC#OTE04v6R^650MR)Fn-=FX18>{q~bOGfu
zMYu;dUMMf00&=X<lO7WnSY+VLuGLiTH`1s`?3cvs+F20}q+r&eyPGTGAbu&sDVa%+
zT(w(wcWcojlBEw1_HpO{kZjaeVzGJBApTER7asU%2ZN`rr-c<>sRWe1_ii)=c0uOi
z+JtunId%ya8yaw?F|<6<+eUPD-!yNnmnu%&9WpS9EgW8LAm0^2S4|On4Q|}HamQy6
zQG_LJv!b`Q@w*j~IqrBoqry(t-yD!$A7k`6j^JYjBHyIIsZ#-EhNLkrj`_tVGAmAh
zF~tQo{SJ_L5)v2C@K<ihhD+ymV6m+Wl7V}SHD%ERu`|5Nw6GN!P++DOaLgxfKFYiy
zPD8Ck#MO7<lZ~Vn6V<B|e<fP6fi`8E9ykt@SftZRlBH}KY-N+GL(R0ujPw@T^RZ|u
z(+(fSBwC}8%fZ_VIW~!CHc%EAGuB&J3Tp`XG4)g+R1j`hcDsP<BfK(;9u$6j)9_=x
zm@3Y$w)%swO%d}j*tv7(GCS~$zL!%~y=Gz*d||NlrSTx-l!0X(zCR5OKosUy8jl{C
zN7|?OFBPgW_Dq68;yoKiGPXJ>`ld%Ri1#$UujMxIQgXaCk0+OA;_~YK=kRF1?yj!7
zs>EOZS<NfJ!48*}?2?D9z5uoM)w|r&J~9bupOt{7ptnA$xl%N>$GpFF#1Cz5ZW2J<
zL|IRiY)wc<`xV%sj{`7Y0VT^Pb!?#UnNm536g&XzY~AqLbrG}lW0p0^NY9E;=`fd)
z72@jT^c_g15`F?P1C6diNp@0&&h_j*f0TBuyPZy;aN!_G`Jt4A$dO^2XHh9EK;HHR
zTBoBQ-qs6n$R>8<vs{4glwR3vhfQbl5A8IzwzdKa?;0>v-+LSN;eO=Du`8^<D`-Y=
zTu*n~z5}w`UFOn6c@z7dWqT~&POo>5`mYY5WzrO*9dDo^BOAX;3VJzi7Im)+oab#d
zcsLEqqTnA@_LD)Pj<PVd+MkocaP?yx>bO4ko&3Lr(4-^Mo=-YR0#>gK&$6CXwK3M)
zO2Dg>#x_vi<7<`RL1|Y2aW3uyNwBM_UF*@;qJW%>P~L=pJ!t)%cq)(J8d{eF<b6xl
ztnd3yG1_=oOLj=TQc(dloym$!-ir=%B0;RB9G%^NpD`Jf=$-`G6TTMu)W!*P;idC^
zwt(_|swb*mH#7^%dpX-%Pp$g(^H7|_ePyQ_K{-MBLzgWGIMiafg8euqG2ZAi5b(B1
zf;;*^iHRtb#(=9pLLl}i2+kl0c#+kd>NZ46+XGZ|LW^si1<ATo4y7;3roP&%rC!(P
zcHPkMp>4Uq<3XRj!$CZ@kt?HURhCV`;s_K{!BTYAkz-}cF*DQ^iJS`}1Xbk=S9smf
z-nG!aQ-X&PkaPB(wL=Dn7&6foVY3nYFA1+Csd9du7|2@6O!Sw4O;qFAn)&ZYbsPfs
zDqq-j!e_xApsI6fYN}_$i#JOWBjFQrTap3Fi+KZT`r&LY&x#)j7b@<Q;CCC5t}ZKV
z&7dHG>V8%At0P{hU^ZDHlr|MjZ{9cU(w%Iye+jlfh;$<@j^NaJIO3#SNv(PsoYYcg
z0pR3SAj>58K8Ut>gA5>84Q4ICVQ7Z%NhzhxH%O-e*~jZHTLe{dJw3`7I1BRLgVAT?
zBqQqtbe2_%x9`!fmyj~xzlU-_eh-1j0fD#%QQrdm{($ZLPvd`gP#gc%@qds0mzn=H
z`k!W~BmXs;YU*FM|2g_!9sk*+|Jmq&PWu00iJlgl4{0Hi{;S@CVBJ5#n>Og$6$9-;
IP1{HR1(GMkF8}}l

diff --git a/samples/Demo.Phone/Assets/Tiles/FlipCycleTileMedium.png b/samples/Demo.Phone/Assets/Tiles/FlipCycleTileMedium.png
deleted file mode 100644
index e93b89d600641c9d5b05f94493a9fde6afa850e8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 9070
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

diff --git a/samples/Demo.Phone/Assets/Tiles/FlipCycleTileSmall.png b/samples/Demo.Phone/Assets/Tiles/FlipCycleTileSmall.png
deleted file mode 100644
index 550b1b5e8d003a61a751d27fc699c5931af855c0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3674
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

diff --git a/samples/Demo.Phone/Assets/Tiles/IconicTileMediumLarge.png b/samples/Demo.Phone/Assets/Tiles/IconicTileMediumLarge.png
deleted file mode 100644
index 686e6b53f0305953100b6b90067e85d26423100e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 4937
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
Um7{6c-LC>@sp+ZKsMx&vA3)t6(EtDd

diff --git a/samples/Demo.Phone/Assets/Tiles/IconicTileSmall.png b/samples/Demo.Phone/Assets/Tiles/IconicTileSmall.png
deleted file mode 100644
index d4b5ede1b567fd4b90505217330edf7de0474432..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3724
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

diff --git a/samples/Demo.Phone/Demo.Phone.csproj b/samples/Demo.Phone/Demo.Phone.csproj
deleted file mode 100644
index fce6ca4..0000000
--- a/samples/Demo.Phone/Demo.Phone.csproj
+++ /dev/null
@@ -1,170 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>10.0.20506</ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{9D75E61E-CF24-4412-9A0B-1DCD6467FFF8}</ProjectGuid>
-    <ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Demo.Phone</RootNamespace>
-    <AssemblyName>Demo.Phone</AssemblyName>
-    <TargetFrameworkIdentifier>WindowsPhone</TargetFrameworkIdentifier>
-    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
-    <SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
-    <SilverlightApplication>true</SilverlightApplication>
-    <SupportedCultures>
-    </SupportedCultures>
-    <XapOutputs>true</XapOutputs>
-    <GenerateSilverlightManifest>true</GenerateSilverlightManifest>
-    <XapFilename>Demo.Phone_$(Configuration)_$(Platform).xap</XapFilename>
-    <SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
-    <SilverlightAppEntry>Demo.Phone.App</SilverlightAppEntry>
-    <ValidateXaml>true</ValidateXaml>
-    <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
-    <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>Bin\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>Bin\Release</OutputPath>
-    <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>Bin\x86\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>Bin\x86\Release</OutputPath>
-    <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|ARM' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>Bin\ARM\Debug</OutputPath>
-    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|ARM' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>Bin\ARM\Release</OutputPath>
-    <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
-    <NoStdLib>true</NoStdLib>
-    <NoConfig>true</NoConfig>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Compile Include="App.xaml.cs">
-      <DependentUpon>App.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="LocalizedStrings.cs" />
-    <Compile Include="MainPage.xaml.cs">
-      <DependentUpon>MainPage.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Resources\AppResources.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DesignTime>True</DesignTime>
-      <DependentUpon>AppResources.resx</DependentUpon>
-    </Compile>
-  </ItemGroup>
-  <ItemGroup>
-    <ApplicationDefinition Include="App.xaml">
-      <SubType>Designer</SubType>
-      <Generator>MSBuild:Compile</Generator>
-    </ApplicationDefinition>
-    <Page Include="MainPage.xaml">
-      <SubType>Designer</SubType>
-      <Generator>MSBuild:Compile</Generator>
-    </Page>
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="Properties\AppManifest.xml" />
-    <None Include="Properties\WMAppManifest.xml">
-      <SubType>Designer</SubType>
-    </None>
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="Assets\AlignmentGrid.png" />
-    <Content Include="Assets\ApplicationIcon.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Assets\Tiles\FlipCycleTileLarge.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Assets\Tiles\FlipCycleTileMedium.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Assets\Tiles\FlipCycleTileSmall.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Assets\Tiles\IconicTileMediumLarge.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-    <Content Include="Assets\Tiles\IconicTileSmall.png">
-      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
-    </Content>
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="Resources\AppResources.resx">
-      <Generator>PublicResXFileCodeGenerator</Generator>
-      <LastGenOutput>AppResources.Designer.cs</LastGenOutput>
-    </EmbeddedResource>
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Weakly\Weakly.csproj">
-      <Project>{AA37F0C0-AA8C-46DE-AC8A-DB844C9AC556}</Project>
-      <Name>Weakly</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\Demo.Library\Demo.Library.csproj">
-      <Project>{ece781c9-3808-46ca-a947-97b1fed9da51}</Project>
-      <Name>Demo.Library</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).$(TargetFrameworkVersion).Overrides.targets" />
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-  <ProjectExtensions />
-</Project>
\ No newline at end of file
diff --git a/samples/Demo.Phone/LocalizedStrings.cs b/samples/Demo.Phone/LocalizedStrings.cs
deleted file mode 100644
index 2c80870..0000000
--- a/samples/Demo.Phone/LocalizedStrings.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Demo.Phone.Resources;
-
-namespace Demo.Phone
-{
-    /// <summary>
-    /// Provides access to string resources.
-    /// </summary>
-    public class LocalizedStrings
-    {
-        private static AppResources _localizedResources = new AppResources();
-
-        public AppResources LocalizedResources { get { return _localizedResources; } }
-    }
-}
\ No newline at end of file
diff --git a/samples/Demo.Phone/MainPage.xaml b/samples/Demo.Phone/MainPage.xaml
deleted file mode 100644
index 23b71aa..0000000
--- a/samples/Demo.Phone/MainPage.xaml
+++ /dev/null
@@ -1,72 +0,0 @@
-<phone:PhoneApplicationPage
-    x:Class="Demo.Phone.MainPage"
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
-    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
-    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-    mc:Ignorable="d"
-    FontFamily="{StaticResource PhoneFontFamilyNormal}"
-    FontSize="{StaticResource PhoneFontSizeNormal}"
-    Foreground="{StaticResource PhoneForegroundBrush}"
-    SupportedOrientations="Portrait" Orientation="Portrait"
-    shell:SystemTray.IsVisible="True">
-
-    <!--LayoutRoot is the root grid where all page content is placed-->
-    <Grid x:Name="LayoutRoot" Background="Transparent">
-        <Grid.RowDefinitions>
-            <RowDefinition Height="Auto"/>
-            <RowDefinition Height="*"/>
-        </Grid.RowDefinitions>
-
-        <!-- LOCALIZATION NOTE:
-            To localize the displayed strings copy their values to appropriately named
-            keys in the app's neutral language resource file (AppResources.resx) then
-            replace the hard-coded text value between the attributes' quotation marks
-            with the binding clause whose path points to that string name.
-
-            For example:
-
-                Text="{Binding Path=LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}"
-
-            This binding points to the template's string resource named "ApplicationTitle".
-
-            Adding supported languages in the Project Properties tab will create a
-            new resx file per language that can carry the translated values of your
-            UI strings. The binding in these examples will cause the value of the
-            attributes to be drawn from the .resx file that matches the
-            CurrentUICulture of the app at run time.
-         -->
-
-        <!--TitlePanel contains the name of the application and page title-->
-        <StackPanel x:Name="TitlePanel" Grid.Row="0" Margin="12,17,0,28">
-            <TextBlock Text="Weakly" Style="{StaticResource PhoneTextNormalStyle}" Margin="12,0"/>
-            <TextBlock Text="Phone Demo" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
-        </StackPanel>
-
-        <!--ContentPanel - place additional content here-->
-        <Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
-            <StackPanel>
-                <Border BorderThickness="1" BorderBrush="Gray">
-                    <StackPanel>
-                        <TextBlock>Delegate samples</TextBlock>
-                        <TextBlock Margin="0,5" Foreground="Gray" TextWrapping="Wrap">Weakly can call private static and instance methods on Silverlight, by compiling an Expression tree.</TextBlock>
-                        <Button Content="WeakAction and WeakFunc" Click="OnWeakActionAndWeakFunc" />
-                        <Button Content="DynamicDelegate" Click="OnDynamicDelegate" />
-                        <Button Content="WeakEventHandler" Click="OnWeakEventHandler" />
-                    </StackPanel>
-                </Border>
-            </StackPanel>
-        </Grid>
-
-        <!--Uncomment to see an alignment grid to help ensure your controls are
-            aligned on common boundaries.  The image has a top margin of -32px to
-            account for the System Tray. Set this to 0 (or remove the margin altogether)
-            if the System Tray is hidden.
-
-            Before shipping remove this XAML and the image itself.-->
-        <!--<Image Source="/Assets/AlignmentGrid.png" VerticalAlignment="Top" Height="800" Width="480" Margin="0,-32,0,0" Grid.Row="0" Grid.RowSpan="2" IsHitTestVisible="False" />-->
-    </Grid>
-
-</phone:PhoneApplicationPage>
\ No newline at end of file
diff --git a/samples/Demo.Phone/MainPage.xaml.cs b/samples/Demo.Phone/MainPage.xaml.cs
deleted file mode 100644
index 867d54b..0000000
--- a/samples/Demo.Phone/MainPage.xaml.cs
+++ /dev/null
@@ -1,117 +0,0 @@
-using Demo.Library;
-using Microsoft.Phone.Controls;
-using System;
-using System.Windows;
-using Weakly;
-using Weakly.Builders;
-
-namespace Demo.Phone
-{
-    public partial class MainPage : PhoneApplicationPage
-    {
-        // Constructor
-        public MainPage()
-        {
-            InitializeComponent();
-
-            // Sample code to localize the ApplicationBar
-            //BuildLocalizedApplicationBar();
-        }
-
-        // Sample code for building a localized ApplicationBar
-        //private void BuildLocalizedApplicationBar()
-        //{
-        //    // Set the page's ApplicationBar to a new instance of ApplicationBar.
-        //    ApplicationBar = new ApplicationBar();
-
-        //    // Create a new button and set the text value to the localized string from AppResources.
-        //    ApplicationBarIconButton appBarButton = new ApplicationBarIconButton(new Uri("/Assets/AppBar/appbar.add.rest.png", UriKind.Relative));
-        //    appBarButton.Text = AppResources.AppBarButtonText;
-        //    ApplicationBar.Buttons.Add(appBarButton);
-
-        //    // Create a new menu item with the localized string from AppResources.
-        //    ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem(AppResources.AppBarMenuItemText);
-        //    ApplicationBar.MenuItems.Add(appBarMenuItem);
-        //}
-
-        private void OnWeakActionAndWeakFunc(object sender, RoutedEventArgs e)
-        {
-            var instance = Activator.CreateInstance(TestRunner.TestMethodsType);
-
-            try
-            {
-                var method = TestRunner.GetTestMethod("VoidNoParams");
-                var action = new WeakAction(instance, method);
-                action.Invoke();
-
-                MessageBox.Show("null", "VoidNoParams", MessageBoxButton.OK);
-            }
-            catch (Exception ex)
-            {
-                MessageBox.Show(ex.Message, "VoidNoParams", MessageBoxButton.OK);
-            }
-
-            try
-            {
-                var method = TestRunner.GetTestMethod("IntOneParam");
-                var function = new WeakFunc<int, int>(instance, method);
-                var result = function.Invoke(10);
-
-                MessageBox.Show(result.ToString(), "IntOneParam", MessageBoxButton.OK);
-            }
-            catch (Exception ex)
-            {
-                MessageBox.Show(ex.Message, "VoidNoParams", MessageBoxButton.OK);
-            }
-        }
-
-        private void OnDynamicDelegate(object sender, RoutedEventArgs e)
-        {
-            InvokeDynamicDelegate(null, "StaticVoidNoParams");
-            InvokeDynamicDelegate(null, "StaticIntNoParams");
-            InvokeDynamicDelegate(null, "StaticVoidOneParam", 1);
-            InvokeDynamicDelegate(null, "StaticIntOneParam", 2);
-
-            var instance = Activator.CreateInstance(TestRunner.TestMethodsType);
-            InvokeDynamicDelegate(instance, "VoidNoParams");
-            InvokeDynamicDelegate(instance, "IntNoParams");
-            InvokeDynamicDelegate(instance, "VoidOneParam", 1);
-            InvokeDynamicDelegate(instance, "IntOneParam", 2);
-        }
-
-        private static void InvokeDynamicDelegate(object instance, string methodName, params object[] parameters)
-        {
-            try
-            {
-                var method = TestRunner.GetTestMethod(methodName);
-                var function = Builder.DynamicDelegate.BuildDynamic(method);
-                var result = function(instance, parameters);
-
-                var resultText = (result != null) ? result.ToString() : "null";
-                MessageBox.Show(resultText, methodName, MessageBoxButton.OK);
-            }
-            catch (Exception ex)
-            {
-                MessageBox.Show(ex.Message, methodName, MessageBoxButton.OK);
-            }
-        }
-
-        private bool _weakEventRegistered;
-
-        private void OnWeakEventHandler(object sender, RoutedEventArgs e)
-        {
-            if (!_weakEventRegistered)
-            {
-                _weakEventRegistered = true;
-                WeakEventHandler.Register<RoutedEventArgs>(sender, "Click", OnWeak);
-
-                MessageBox.Show("Weak handler registered. Click again to test it.", "Weak Handler", MessageBoxButton.OK);
-            }
-        }
-
-        private void OnWeak(object sender, RoutedEventArgs e)
-        {
-            MessageBox.Show("Hello from weak handler", "Weak Handler", MessageBoxButton.OK);
-        }
-    }
-}
\ No newline at end of file
diff --git a/samples/Demo.Phone/Properties/AppManifest.xml b/samples/Demo.Phone/Properties/AppManifest.xml
deleted file mode 100644
index 6712a11..0000000
--- a/samples/Demo.Phone/Properties/AppManifest.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
-        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
->
-    <Deployment.Parts>
-    </Deployment.Parts>
-</Deployment>
diff --git a/samples/Demo.Phone/Properties/AssemblyInfo.cs b/samples/Demo.Phone/Properties/AssemblyInfo.cs
deleted file mode 100644
index c2b3242..0000000
--- a/samples/Demo.Phone/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Resources;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Demo.Phone")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Demo.Phone")]
-[assembly: AssemblyCopyright("Copyright ©  2014")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("9b191aa4-8b23-4f9b-891c-5db5537e55b5")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Revision and Build Numbers 
-// by using the '*' as shown below:
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
-[assembly: NeutralResourcesLanguageAttribute("en-US")]
diff --git a/samples/Demo.Phone/Properties/WMAppManifest.xml b/samples/Demo.Phone/Properties/WMAppManifest.xml
deleted file mode 100644
index 0f27595..0000000
--- a/samples/Demo.Phone/Properties/WMAppManifest.xml
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
-  <DefaultLanguage xmlns="" code="en-US"/>
-  <App xmlns="" ProductID="{9d75e61e-cf24-4412-9a0b-1dcd6467fff8}" Title="Demo.Phone" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal"  Author="Demo.Phone author" Description="Sample description" Publisher="Demo.Phone" PublisherID="{16d2e434-716d-4613-870f-19a42a366d0c}">
-    <IconPath IsRelative="true" IsResource="false">Assets\ApplicationIcon.png</IconPath>
-    <Capabilities>
-      <Capability Name="ID_CAP_NETWORKING"/>
-      <Capability Name="ID_CAP_MEDIALIB_AUDIO"/>
-      <Capability Name="ID_CAP_MEDIALIB_PLAYBACK"/>
-      <Capability Name="ID_CAP_SENSORS"/>
-      <Capability Name="ID_CAP_WEBBROWSERCOMPONENT"/>
-    </Capabilities>
-    <Tasks>
-      <DefaultTask  Name ="_default" NavigationPage="MainPage.xaml"/>
-    </Tasks>
-    <Tokens>
-      <PrimaryToken TokenID="Demo.PhoneToken" TaskName="_default">
-        <TemplateFlip>
-          <SmallImageURI IsRelative="true" IsResource="false">Assets\Tiles\FlipCycleTileSmall.png</SmallImageURI>
-          <Count>0</Count>
-          <BackgroundImageURI IsRelative="true" IsResource="false">Assets\Tiles\FlipCycleTileMedium.png</BackgroundImageURI>
-          <Title>Demo.Phone</Title>
-          <BackContent></BackContent>
-          <BackBackgroundImageURI></BackBackgroundImageURI>
-          <BackTitle></BackTitle>
-          <DeviceLockImageURI></DeviceLockImageURI>
-          <HasLarge></HasLarge>
-        </TemplateFlip>
-      </PrimaryToken>
-    </Tokens>
-    <ScreenResolutions>
-      <ScreenResolution Name="ID_RESOLUTION_WVGA"/>
-      <ScreenResolution Name="ID_RESOLUTION_WXGA"/>
-      <ScreenResolution Name="ID_RESOLUTION_HD720P"/>
-    </ScreenResolutions>
-  </App>
-</Deployment>
\ No newline at end of file
diff --git a/samples/Demo.Phone/Resources/AppResources.Designer.cs b/samples/Demo.Phone/Resources/AppResources.Designer.cs
deleted file mode 100644
index 9c294a3..0000000
--- a/samples/Demo.Phone/Resources/AppResources.Designer.cs
+++ /dev/null
@@ -1,127 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.17626
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace Demo.Phone.Resources
-{
-    using System;
-
-
-    /// <summary>
-    ///   A strongly-typed resource class, for looking up localized strings, etc.
-    /// </summary>
-    // This class was auto-generated by the StronglyTypedResourceBuilder
-    // class via a tool like ResGen or Visual Studio.
-    // To add or remove a member, edit your .ResX file then rerun ResGen
-    // with the /str option, or rebuild your VS project.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
-    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    public class AppResources
-    {
-
-        private static global::System.Resources.ResourceManager resourceMan;
-
-        private static global::System.Globalization.CultureInfo resourceCulture;
-
-        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
-        internal AppResources()
-        {
-        }
-
-        /// <summary>
-        ///   Returns the cached ResourceManager instance used by this class.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        public static global::System.Resources.ResourceManager ResourceManager
-        {
-            get
-            {
-                if (object.ReferenceEquals(resourceMan, null))
-                {
-                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Demo.Phone.Resources.AppResources", typeof(AppResources).Assembly);
-                    resourceMan = temp;
-                }
-                return resourceMan;
-            }
-        }
-
-        /// <summary>
-        ///   Overrides the current thread's CurrentUICulture property for all
-        ///   resource lookups using this strongly typed resource class.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        public static global::System.Globalization.CultureInfo Culture
-        {
-            get
-            {
-                return resourceCulture;
-            }
-            set
-            {
-                resourceCulture = value;
-            }
-        }
-
-        /// <summary>
-        ///   Looks up a localized string similar to LeftToRight.
-        /// </summary>
-        public static string ResourceFlowDirection
-        {
-            get
-            {
-                return ResourceManager.GetString("ResourceFlowDirection", resourceCulture);
-            }
-        }
-
-        /// <summary>
-        ///   Looks up a localized string similar to us-EN.
-        /// </summary>
-        public static string ResourceLanguage
-        {
-            get
-            {
-                return ResourceManager.GetString("ResourceLanguage", resourceCulture);
-            }
-        }
-
-        /// <summary>
-        ///   Looks up a localized string similar to MY APPLICATION.
-        /// </summary>
-        public static string ApplicationTitle
-        {
-            get
-            {
-                return ResourceManager.GetString("ApplicationTitle", resourceCulture);
-            }
-        }
-
-        /// <summary>
-        ///   Looks up a localized string similar to button.
-        /// </summary>
-        public static string AppBarButtonText
-        {
-            get
-            {
-                return ResourceManager.GetString("AppBarButtonText", resourceCulture);
-            }
-        }
-
-        /// <summary>
-        ///   Looks up a localized string similar to menu item.
-        /// </summary>
-        public static string AppBarMenuItemText
-        {
-            get
-            {
-                return ResourceManager.GetString("AppBarMenuItemText", resourceCulture);
-            }
-        }
-    }
-}
diff --git a/samples/Demo.Phone/Resources/AppResources.resx b/samples/Demo.Phone/Resources/AppResources.resx
deleted file mode 100644
index 529a194..0000000
--- a/samples/Demo.Phone/Resources/AppResources.resx
+++ /dev/null
@@ -1,137 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!--
-    Microsoft ResX Schema
-
-    Version 2.0
-
-    The primary goals of this format is to allow a simple XML format
-    that is mostly human readable. The generation and parsing of the
-    various data types are done through the TypeConverter classes
-    associated with the data types.
-
-    Example:
-
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-
-    There are any number of "resheader" rows that contain simple
-    name/value pairs.
-
-    Each data row contains a name, and value. The row also contains a
-    type or mimetype. Type corresponds to a .NET class that support
-    text/value conversion through the TypeConverter architecture.
-    Classes that don't support this are serialized and stored with the
-    mimetype set.
-
-    The mimetype is used for serialized objects, and tells the
-    ResXResourceReader how to depersist the object. This is currently not
-    extensible. For a given mimetype the value must be set accordingly:
-
-    Note - application/x-microsoft.net.object.binary.base64 is the format
-    that the ResXResourceWriter will generate, however the reader can
-    read any of the formats listed below.
-
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with
-            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" use="required" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-              <xsd:attribute ref="xml:space" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <data name="ResourceFlowDirection" xml:space="preserve">
-    <value>LeftToRight</value>
-    <comment>Controls the FlowDirection for all elements in the RootFrame. Set to the traditional direction of this resource file's language</comment>
-  </data>
-  <data name="ResourceLanguage" xml:space="preserve">
-    <value>en-US</value>
-    <comment>Controls the Language and ensures that the font for all elements in the RootFrame aligns with the app's language. Set to the language code of this resource file's language.</comment>
-  </data>
-  <data name="ApplicationTitle" xml:space="preserve">
-    <value>MY APPLICATION</value>
-  </data>
-  <data name="AppBarButtonText" xml:space="preserve">
-    <value>add</value>
-  </data>
-  <data name="AppBarMenuItemText" xml:space="preserve">
-    <value>Menu Item</value>
-  </data>
-</root>
\ No newline at end of file
diff --git a/samples/Demo.Win81/App.xaml b/samples/Demo.Win81/App.xaml
deleted file mode 100644
index e1203ba..0000000
--- a/samples/Demo.Win81/App.xaml
+++ /dev/null
@@ -1,20 +0,0 @@
-<Application
-    x:Class="Demo.Win8.App"
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:local="using:Demo.Win8">
-
-    <Application.Resources>
-        <ResourceDictionary>
-            <ResourceDictionary.MergedDictionaries>
-
-                <!-- 
-                    Styles that define common aspects of the platform look and feel
-                    Required by Visual Studio project and item templates
-                 -->
-                <ResourceDictionary Source="Common/StandardStyles.xaml"/>
-            </ResourceDictionary.MergedDictionaries>
-
-        </ResourceDictionary>
-    </Application.Resources>
-</Application>
diff --git a/samples/Demo.Win81/App.xaml.cs b/samples/Demo.Win81/App.xaml.cs
deleted file mode 100644
index 671d5f9..0000000
--- a/samples/Demo.Win81/App.xaml.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-using System;
-using Windows.ApplicationModel;
-using Windows.ApplicationModel.Activation;
-using Windows.UI.Xaml;
-using Windows.UI.Xaml.Controls;
-
-namespace Demo.Win8
-{
-    /// <summary>
-    /// Provides application-specific behavior to supplement the default Application class.
-    /// </summary>
-    sealed partial class App : Application
-    {
-        /// <summary>
-        /// Initializes the singleton application object.  This is the first line of authored code
-        /// executed, and as such is the logical equivalent of main() or WinMain().
-        /// </summary>
-        public App()
-        {
-            InitializeComponent();
-            Suspending += OnSuspending;
-        }
-
-        /// <summary>
-        /// Invoked when the application is launched normally by the end user.  Other entry points
-        /// will be used when the application is launched to open a specific file, to display
-        /// search results, and so forth.
-        /// </summary>
-        /// <param name="args">Details about the launch request and process.</param>
-        protected override void OnLaunched(LaunchActivatedEventArgs args)
-        {
-            var rootFrame = Window.Current.Content as Frame;
-
-            // Do not repeat app initialization when the Window already has content,
-            // just ensure that the window is active
-            if (rootFrame == null)
-            {
-                // Create a Frame to act as the navigation context and navigate to the first page
-                rootFrame = new Frame();
-
-                if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
-                {
-                    // Load state from previously suspended application
-                }
-
-                // Place the frame in the current Window
-                Window.Current.Content = rootFrame;
-            }
-
-            if (rootFrame.Content == null)
-            {
-                // When the navigation stack isn't restored navigate to the first page,
-                // configuring the new page by passing required information as a navigation
-                // parameter
-                if (!rootFrame.Navigate(typeof(MainPage), args.Arguments))
-                {
-                    throw new Exception("Failed to create initial page");
-                }
-            }
-            // Ensure the current window is active
-            Window.Current.Activate();
-        }
-
-        /// <summary>
-        /// Invoked when application execution is being suspended.  Application state is saved
-        /// without knowing whether the application will be terminated or resumed with the contents
-        /// of memory still intact.
-        /// </summary>
-        /// <param name="sender">The source of the suspend request.</param>
-        /// <param name="e">Details about the suspend request.</param>
-        private void OnSuspending(object sender, SuspendingEventArgs e)
-        {
-            var deferral = e.SuspendingOperation.GetDeferral();
-            // Save application state and stop any background activity
-            deferral.Complete();
-        }
-    }
-}
diff --git a/samples/Demo.Win81/Assets/Logo.png b/samples/Demo.Win81/Assets/Logo.png
deleted file mode 100644
index e26771cb33a49bbef824aa333737181b0a5b09a3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 801
zcmeAS@N?(olHy`uVBq!ia0vp^(?FPm4M^HB7Cr(}k|nMYCBgY=CFO}lsSJ)O`AMk?
zp1FzXsX?iUDV2pMQ*9U+m=1foIEGZ*dUJQLud<^=L*gE#63Ho!PGzwUb%GPK6&5iF
zt!p@aGNX}6<M7XW5|S^O@_K8GcU#~8zUR`ZM%|n9Dor+T`?Fc{_(!KzcM~{RrX3K9
z5Q<>(PVh|N)M-?0RNcTbjaWgEU8noxUax-n>&3Ay)#!y&O11y2s<nJ)KKpF-5>KEF
zt72@XC1)RvT6Xw=y_`Ce)`nGULLL^lI$kwi^E+dQT7YeXY4GvlRR%kj1x$VZi%Bdd
zz}2Giy=-_$h+v#(S+};)DuE4EM?_^qB_eDeo@&q%StD1F>L|*0ZC2sb-}llSMTM?O
z6{b3iid~yk@VE7q7Wb+P8?H5IYp?pSVcL<YlA&A?-VaXoY4NVHEc9LQYbtA~Rz&fG
zSq@)=-u<?`9I^cOnQHAA^#I!x>E~18m#ygK20HL@6W5woI~Fjlw$fX1U{xQA5a+t0
zH$WNIb=fNpWHo}M9#;K6eszDZKty_|-?j4iocj5#zotrWc;@;w`H@=mjsvS2wXX0_
zY}l$4@^sE?UcC)ji*L=Z&}P!xaL&2((OQlj2dv~pV-ifAS;ZsH1{`D!GY%<eyvhR<
zs$H~ebuZVtCmT*Zk#o4a&4D#MD8fBt_p}ucyx6k+LJCwHx3XyMXgVAv6j~PJY!vd_
zGBEX+sRPiQ|NU7P>yys5WH)f>ZLo5m%6XjuXdbKMR7MEHSyb{m!_{Afji&MT$_sz7
z>1{~MlIFe28FRN(GC_~;#Jp4ADipP+9hh|P#-&`vO-Upt3jE0@YLh(^55uYWl9g)Z
RA3>Rb!PC{xWt~$(69A&hN*MqE

diff --git a/samples/Demo.Win81/Assets/SmallLogo.png b/samples/Demo.Win81/Assets/SmallLogo.png
deleted file mode 100644
index 1eb0d9d528c42f132872e8af4dc563081b0b9aff..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 329
zcmV-P0k-~$P)<h;3K|Lk000e1NJLTq0015U0015c1^@s6J20-I0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUy>q$gGRCwC#*X;?zAP@%N+|i#I!$mrh
zlQ>KU$Rdu>|JH&931_?y6Djl{gb>4nCV5pzDJ?S!mq|4ZejKj%i@j$H{#ML~2Y{DF
z$=}bKPaz+UGt{v(4CTQQXym}&iW8{s!ew~XIE7NLjQpy#I2S$rous$~?f%DHT#B*+
zq=#!zc5=0FEqWFpB%UE(L807on!pidHPLgYO}XEgorrg;PB=8ipgQ5u5`&g_MQaRd
zaU7Ao8XQMuuN21-s0PPTs1%38x_Yl3Fs-|Y4!C-;M-8<ZZS<TqNqib^SMD<4zlFK0
b-U18&d-UZ%OI+v700000NkvXXu0mjfvyO*s

diff --git a/samples/Demo.Win81/Assets/SplashScreen.png b/samples/Demo.Win81/Assets/SplashScreen.png
deleted file mode 100644
index c951e031bdfa0d4ebe68d52647f14caf710ca471..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2146
zcmb_ee{2(V6#s5lN>g@n*v@1<b=M3U|6s-?wu(;ZSjSjm7Y1Z0YO=0bp{Bc`WN|E_
z-fA4z*Z`44la{D-24m8dH56jSm~E7z@kgl6qju4O{=v*9DC!?9Mttw?x}MP~ME`nw
z-+tfcectDN@4bb$w71emi;)mQw{3Q9C8V;KkczbiJ)Ath=IRufn*J6~|F+#b`v<!B
z_(@aGZl9lP<GXkHxB9z#2A}@O-$;l-*XC;4zPC94bwl5z)7;YW@U`4*p+h=!S3Y(B
z{>|s#GQ665=9@Rxy?u0YW0&WN+~=RXpPbVXXL4m7Aq=E6I0%{06TwRn=U9d8>exk>
zD-Z%M3DNQ`bTLSEF=%NFyoHcAkD*Ci<!z`e%=hWWPQScr{MpVjjS`}U#(fs{@?@s(
z=f)Rms4qw77OwBjM0H2b7}+Cp3%?zuQhI}f;W-H+<8;Y^n&WiVVsJRqR%y}ko`?mS
z6ZV-Eg7?Mm8Xq`Y%~#b19im=)8G{(UjHJNY0DdT7;zc{!=0w=e^a@}rLbQt&RR<5b
zqKoy>Xqljo*0E?o$Gi<JD3u@fm{d#YSkaM<dZ-CKSPNHhro*bWN?Pjfbl9HKhiFF5
zzF1`3t!2URK6hfsODWk))M5dXmW3+@*%daJ5ZM3=u2^Dm*o?pa+pW9}6%`$+l7$8!
zchnv%a8)cSha43PN`b6yR7~coSWrp`u<MEn9T^bl$lRnIfThNk0Y^_jNeW2{V-@G|
zT`H+l7fUBksnPWhs(5$Y$zx-Lz={JZ)n%<QrT)-}%4<S_VU(-nzq-QfYd4YAEz@=B
zW5eg)TR$_iM}DBf$jInVb)ua+&>DC4q}}|%*0WghLlK#npw?hecrM}Mw?`E(z5C8<
z8&*b^!{>5?4aT89vdrgBgSc-x6JZD3F^l#*G(@OO*^1D%Eu7?HAy<3k<n+|3Ofo=y
z3mktj2alVo?!FMUB!4yWhreJ1b7w)g;``y;ZRb2Yo`gp--tp&nV>TLqW9N{^#6vso
zVQwY48q7)m{~xQ64RV7{E7Y=&T~?^05Ky`5oNQ8bLgFCPq9co^R09BVRS1OAmH;hU
zC#q(N!gNqm!zU#%sv{r5mm-Uv8b-~a1F-;p^>)pnXfKge4s9?;;MFIr*fixPG}NBA
z6_G5BEmeO6XXh(emkciB{7tA;iwC2^s^VzyU_h0@ae84ACMY`cIDEju=<`q|2QAEv
zW_)W|i|9aknqdmS=#w73eW_csQ$8IhT^vY1^1;X3&J0{%*tcQq!gJpr3w?TJc~@5=
zKV5sM{$3k>b#S$@CTkhIF*{v*u(F&$&Yq1naHxt8Mz2N%7aQ3(^VNRZahk1||7?Bl
z*idzO_u)FhRj4cPzDO>YA>>lxAGaciEiX8Xzp1SVPv91};$OG3cC&8!v3{Jq^kH@8
UTIccK;hzT5*3#}uZuEx!0OwrBv;Y7A

diff --git a/samples/Demo.Win81/Assets/StoreLogo.png b/samples/Demo.Win81/Assets/StoreLogo.png
deleted file mode 100644
index dcb672712c6823a0c91548ded70a8acb85536b4d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 429
zcmV;e0aE^nP)<h;3K|Lk000e1NJLTq001%o001%w1^@s69zTe&0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUzPf0{URCwC#+R+KaAP@%Nc=WMjbdiqa
zBpIN?bdiqXduqTy9wJ8X{yRw&LZJomt1)*Mb<46$S7<a{qz%Y`fZ8MT{kQXRzi&4q
z`xfHmopV2n0mks~iXU^lo}4ujQU`PD&=L_i5O0M!K=@`zx}DT9M~Kp`U0m$im=?t8
zr<N9`6;bv0MPoRK>NtYJa1l)bQ5qwGXpZbs7%2oRMd4y35$s&66(fxhNg8W02!vSn
zdlrL2h^Fx+3=$z;kK{0D#MyeJ8WRWZcLSf(PcQ_mLOhrmC}O-tX^0c>5`YvCUZVsc
zG-6#78ubjJ5nA;OX&^K(q=i6ZNE3m?kTwE^AqxZoLskfB3|S&1F=UO9!cY$g2@Lgu
z;9{sJ1P9|X2L`r1#Gs8R{E^$PRrMaC86q<?teSo8;M4n2kIR(0ZXBu^kO8>|<S)Pg
XJ9Ld-yKA-b00000NkvXXu0mjfItQrL

diff --git a/samples/Demo.Win81/Common/StandardStyles.xaml b/samples/Demo.Win81/Common/StandardStyles.xaml
deleted file mode 100644
index 85f4ed6..0000000
--- a/samples/Demo.Win81/Common/StandardStyles.xaml
+++ /dev/null
@@ -1,1829 +0,0 @@
-<!--
-    This file contains XAML styles that simplify application development.
-
-    These are not merely convenient, but are required by most Visual Studio project and item templates.
-    Removing, renaming, or otherwise modifying the content of these files may result in a project that
-    does not build, or that will not build once additional pages are added.  If variations on these
-    styles are desired it is recommended that you copy the content under a new name and modify your
-    private copy.
--->
-
-<ResourceDictionary
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
-
-    <!-- Non-brush values that vary across themes -->
-
-    <ResourceDictionary.ThemeDictionaries>
-        <ResourceDictionary x:Key="Default">
-            <x:String x:Key="BackButtonGlyph">&#xE071;</x:String>
-            <x:String x:Key="BackButtonSnappedGlyph">&#xE0BA;</x:String>
-        </ResourceDictionary>
-
-        <ResourceDictionary x:Key="HighContrast">
-            <x:String x:Key="BackButtonGlyph">&#xE071;</x:String>
-            <x:String x:Key="BackButtonSnappedGlyph">&#xE0C4;</x:String>
-        </ResourceDictionary>
-    </ResourceDictionary.ThemeDictionaries>
-
-    <x:String x:Key="ChevronGlyph">&#xE26B;</x:String>
-
-    <!-- RichTextBlock styles -->
-
-    <Style x:Key="BasicRichTextStyle" TargetType="RichTextBlock">
-        <Setter Property="Foreground" Value="{StaticResource ApplicationForegroundThemeBrush}"/>
-        <Setter Property="FontSize" Value="{StaticResource ControlContentThemeFontSize}"/>
-        <Setter Property="FontFamily" Value="{StaticResource ContentControlThemeFontFamily}"/>
-        <Setter Property="TextTrimming" Value="WordEllipsis"/>
-        <Setter Property="TextWrapping" Value="Wrap"/>
-        <Setter Property="Typography.StylisticSet20" Value="True"/>
-        <Setter Property="Typography.DiscretionaryLigatures" Value="True"/>
-        <Setter Property="Typography.CaseSensitiveForms" Value="True"/>
-    </Style>
-
-    <Style x:Key="BaselineRichTextStyle" TargetType="RichTextBlock" BasedOn="{StaticResource BasicRichTextStyle}">
-        <Setter Property="LineHeight" Value="20"/>
-        <Setter Property="LineStackingStrategy" Value="BlockLineHeight"/>
-        <!-- Properly align text along its baseline -->
-        <Setter Property="RenderTransform">
-            <Setter.Value>
-                <TranslateTransform X="-1" Y="4"/>
-            </Setter.Value>
-        </Setter>
-    </Style>
-
-    <Style x:Key="ItemRichTextStyle" TargetType="RichTextBlock" BasedOn="{StaticResource BaselineRichTextStyle}"/>
-
-    <Style x:Key="BodyRichTextStyle" TargetType="RichTextBlock" BasedOn="{StaticResource BaselineRichTextStyle}">
-        <Setter Property="FontWeight" Value="SemiLight"/>
-    </Style>
-
-    <!-- TextBlock styles -->
-
-    <Style x:Key="BasicTextStyle" TargetType="TextBlock">
-        <Setter Property="Foreground" Value="{StaticResource ApplicationForegroundThemeBrush}"/>
-        <Setter Property="FontSize" Value="{StaticResource ControlContentThemeFontSize}"/>
-        <Setter Property="FontFamily" Value="{StaticResource ContentControlThemeFontFamily}"/>
-        <Setter Property="TextTrimming" Value="WordEllipsis"/>
-        <Setter Property="TextWrapping" Value="Wrap"/>
-        <Setter Property="Typography.StylisticSet20" Value="True"/>
-        <Setter Property="Typography.DiscretionaryLigatures" Value="True"/>
-        <Setter Property="Typography.CaseSensitiveForms" Value="True"/>
-    </Style>
-
-    <Style x:Key="BaselineTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BasicTextStyle}">
-        <Setter Property="LineHeight" Value="20"/>
-        <Setter Property="LineStackingStrategy" Value="BlockLineHeight"/>
-        <!-- Properly align text along its baseline -->
-        <Setter Property="RenderTransform">
-            <Setter.Value>
-                <TranslateTransform X="-1" Y="4"/>
-            </Setter.Value>
-        </Setter>
-    </Style>
-
-    <Style x:Key="HeaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
-        <Setter Property="FontSize" Value="56"/>
-        <Setter Property="FontWeight" Value="Light"/>
-        <Setter Property="LineHeight" Value="40"/>
-        <Setter Property="RenderTransform">
-            <Setter.Value>
-                <TranslateTransform X="-2" Y="8"/>
-            </Setter.Value>
-        </Setter>
-    </Style>
-
-    <Style x:Key="SubheaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
-        <Setter Property="FontSize" Value="26.667"/>
-        <Setter Property="FontWeight" Value="Light"/>
-        <Setter Property="LineHeight" Value="30"/>
-        <Setter Property="RenderTransform">
-            <Setter.Value>
-                <TranslateTransform X="-1" Y="6"/>
-            </Setter.Value>
-        </Setter>
-    </Style>
-
-    <Style x:Key="TitleTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
-        <Setter Property="FontWeight" Value="SemiBold"/>
-    </Style>
-
-    <Style x:Key="SubtitleTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
-        <Setter Property="FontWeight" Value="Normal"/>
-    </Style>
-
-    <Style x:Key="ItemTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}"/>
-
-    <Style x:Key="BodyTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
-        <Setter Property="FontWeight" Value="SemiLight"/>
-    </Style>
-
-    <Style x:Key="CaptionTextStyle" TargetType="TextBlock" BasedOn="{StaticResource BaselineTextStyle}">
-        <Setter Property="FontSize" Value="12"/>
-        <Setter Property="Foreground" Value="{StaticResource ApplicationSecondaryForegroundThemeBrush}"/>
-    </Style>
-
-    <Style x:Key="GroupHeaderTextStyle" TargetType="TextBlock">
-        <Setter Property="FontFamily" Value="{StaticResource ContentControlThemeFontFamily}"/>
-        <Setter Property="TextTrimming" Value="WordEllipsis"/>
-        <Setter Property="TextWrapping" Value="NoWrap"/>
-        <Setter Property="Typography.StylisticSet20" Value="True"/>
-        <Setter Property="Typography.DiscretionaryLigatures" Value="True"/>
-        <Setter Property="Typography.CaseSensitiveForms" Value="True"/>
-        <Setter Property="FontSize" Value="26.667"/>
-        <Setter Property="LineStackingStrategy" Value="BlockLineHeight"/>
-        <Setter Property="FontWeight" Value="Light"/>
-        <Setter Property="LineHeight" Value="30"/>
-        <Setter Property="RenderTransform">
-            <Setter.Value>
-                <TranslateTransform X="-1" Y="6"/>
-            </Setter.Value>
-        </Setter>
-    </Style>
-
-    <!-- Button styles -->
-    
-    <!--
-        TextButtonStyle is used to style a Button using subheader-styled text with no other adornment.  There
-        are two styles that are based on TextButtonStyle (TextPrimaryButtonStyle and TextSecondaryButtonStyle)
-        which are used in the GroupedItemsPage as a group header and in the FileOpenPickerPage for triggering
-        commands.
-    -->
-    <Style x:Key="TextButtonStyle" TargetType="ButtonBase">
-        <Setter Property="MinWidth" Value="0"/>
-        <Setter Property="MinHeight" Value="0"/>
-        <Setter Property="Template">
-            <Setter.Value>
-                <ControlTemplate TargetType="ButtonBase">
-                    <Grid Background="Transparent">
-                        <ContentPresenter x:Name="Text" Content="{TemplateBinding Content}" />
-                        <Rectangle
-                            x:Name="FocusVisualWhite"
-                            IsHitTestVisible="False"
-                            Stroke="{StaticResource FocusVisualWhiteStrokeThemeBrush}"
-                            StrokeEndLineCap="Square"
-                            StrokeDashArray="1,1"
-                            Opacity="0"
-                            StrokeDashOffset="1.5"/>
-                        <Rectangle
-                            x:Name="FocusVisualBlack"
-                            IsHitTestVisible="False"
-                            Stroke="{StaticResource FocusVisualBlackStrokeThemeBrush}"
-                            StrokeEndLineCap="Square"
-                            StrokeDashArray="1,1"
-                            Opacity="0"
-                            StrokeDashOffset="0.5"/>
-                        <VisualStateManager.VisualStateGroups>
-                            <VisualStateGroup x:Name="CommonStates">
-                                <VisualState x:Name="Normal"/>
-                                <VisualState x:Name="PointerOver">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationPointerOverForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Pressed">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationPressedForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Disabled">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationPressedForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                            </VisualStateGroup>
-                            <VisualStateGroup x:Name="FocusStates">
-                                <VisualState x:Name="Focused">
-                                    <Storyboard>
-                                        <DoubleAnimation Duration="0" To="1" Storyboard.TargetName="FocusVisualWhite" Storyboard.TargetProperty="Opacity"/>
-                                        <DoubleAnimation Duration="0" To="1" Storyboard.TargetName="FocusVisualBlack" Storyboard.TargetProperty="Opacity"/>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Unfocused"/>
-                            </VisualStateGroup>
-                            <VisualStateGroup x:Name="CheckStates">
-                                <VisualState x:Name="Checked"/>
-                                <VisualState x:Name="Unchecked">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Text" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource ApplicationSecondaryForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Indeterminate"/>
-                            </VisualStateGroup>
-                        </VisualStateManager.VisualStateGroups>
-                    </Grid>
-                </ControlTemplate>
-            </Setter.Value>
-        </Setter>
-    </Style>
-
-    <Style x:Key="TextPrimaryButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource TextButtonStyle}">
-        <Setter Property="Foreground" Value="{StaticResource ApplicationHeaderForegroundThemeBrush}"/>
-    </Style>
-
-    <Style x:Key="TextSecondaryButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource TextButtonStyle}">
-        <Setter Property="Foreground" Value="{StaticResource ApplicationSecondaryForegroundThemeBrush}"/>
-    </Style>
-
-    <!--
-        TextRadioButtonStyle is used to style a RadioButton using subheader-styled text with no other adornment.
-        This style is used in the SearchResultsPage to allow selection among filters.
-    -->
-    <Style x:Key="TextRadioButtonStyle" TargetType="RadioButton" BasedOn="{StaticResource TextButtonStyle}">
-        <Setter Property="Margin" Value="0,0,30,0"/>
-    </Style>
-
-    <!--
-        AppBarButtonStyle is used to style a Button (or ToggleButton) for use in an App Bar.  Content will be centered 
-        and should fit within the 40 pixel radius glyph provided.  16-point Segoe UI Symbol is used for content text 
-        to simplify the use of glyphs from that font.  AutomationProperties.Name is used for the text below the glyph.
-    -->
-    <Style x:Key="AppBarButtonStyle" TargetType="ButtonBase">
-        <Setter Property="Foreground" Value="{StaticResource AppBarItemForegroundThemeBrush}"/>
-        <Setter Property="VerticalAlignment" Value="Stretch"/>
-        <Setter Property="FontFamily" Value="Segoe UI Symbol"/>
-        <Setter Property="FontWeight" Value="Normal"/>
-        <Setter Property="FontSize" Value="20"/>
-        <Setter Property="AutomationProperties.ItemType" Value="App Bar Button"/>
-        <Setter Property="Template">
-            <Setter.Value>
-                <ControlTemplate TargetType="ButtonBase">
-                    <Grid x:Name="RootGrid" Width="100" Background="Transparent">
-                        <StackPanel VerticalAlignment="Top" Margin="0,12,0,11">
-                            <Grid Width="40" Height="40" Margin="0,0,0,5" HorizontalAlignment="Center">
-                                <TextBlock x:Name="BackgroundGlyph" Text="&#xE0A8;" FontFamily="Segoe UI Symbol" FontSize="53.333" Margin="-4,-19,0,0" Foreground="{StaticResource AppBarItemBackgroundThemeBrush}"/>
-                                <TextBlock x:Name="OutlineGlyph" Text="&#xE0A7;" FontFamily="Segoe UI Symbol" FontSize="53.333" Margin="-4,-19,0,0"/>
-                                <ContentPresenter x:Name="Content" HorizontalAlignment="Center" Margin="-1,-1,0,0" VerticalAlignment="Center"/>
-                            </Grid>
-                            <TextBlock
-                                x:Name="TextLabel"
-                                Text="{TemplateBinding AutomationProperties.Name}"
-                                Foreground="{StaticResource AppBarItemForegroundThemeBrush}"
-                                Margin="0,0,2,0"
-                                FontSize="12"
-                                TextAlignment="Center"
-                                Width="88"
-                                MaxHeight="32"
-                                TextTrimming="WordEllipsis"
-                                Style="{StaticResource BasicTextStyle}"/>
-                        </StackPanel>
-                        <Rectangle
-                                x:Name="FocusVisualWhite"
-                                IsHitTestVisible="False"
-                                Stroke="{StaticResource FocusVisualWhiteStrokeThemeBrush}"
-                                StrokeEndLineCap="Square"
-                                StrokeDashArray="1,1"
-                                Opacity="0"
-                                StrokeDashOffset="1.5"/>
-                        <Rectangle
-                                x:Name="FocusVisualBlack"
-                                IsHitTestVisible="False"
-                                Stroke="{StaticResource FocusVisualBlackStrokeThemeBrush}"
-                                StrokeEndLineCap="Square"
-                                StrokeDashArray="1,1"
-                                Opacity="0"
-                                StrokeDashOffset="0.5"/>
-
-                        <VisualStateManager.VisualStateGroups>
-                            <VisualStateGroup x:Name="ApplicationViewStates">
-                                <VisualState x:Name="FullScreenLandscape"/>
-                                <VisualState x:Name="Filled"/>
-                                <VisualState x:Name="FullScreenPortrait">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="TextLabel" Storyboard.TargetProperty="Visibility">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Width">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="60"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Snapped">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="TextLabel" Storyboard.TargetProperty="Visibility">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Width">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="60"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                            </VisualStateGroup>
-                            <VisualStateGroup x:Name="CommonStates">
-                                <VisualState x:Name="Normal"/>
-                                <VisualState x:Name="PointerOver">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemPointerOverBackgroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemPointerOverForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Pressed">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OutlineGlyph" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemPressedForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Disabled">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="OutlineGlyph" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemDisabledForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemDisabledForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="TextLabel" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemDisabledForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                            </VisualStateGroup>
-                            <VisualStateGroup x:Name="FocusStates">
-                                <VisualState x:Name="Focused">
-                                    <Storyboard>
-                                        <DoubleAnimation
-                                                Storyboard.TargetName="FocusVisualWhite"
-                                                Storyboard.TargetProperty="Opacity"
-                                                To="1"
-                                                Duration="0"/>
-                                        <DoubleAnimation
-                                                Storyboard.TargetName="FocusVisualBlack"
-                                                Storyboard.TargetProperty="Opacity"
-                                                To="1"
-                                                Duration="0"/>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Unfocused" />
-                                <VisualState x:Name="PointerFocused" />
-                            </VisualStateGroup>
-                            <VisualStateGroup x:Name="CheckStates">
-                                <VisualState x:Name="Checked">
-                                    <Storyboard>
-                                        <DoubleAnimation Duration="0" To="0" Storyboard.TargetName="OutlineGlyph" Storyboard.TargetProperty="Opacity"/>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundCheckedGlyph" Storyboard.TargetProperty="Visibility">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="Visible"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="Content" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource AppBarItemPressedForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Unchecked"/>
-                                <VisualState x:Name="Indeterminate"/>
-                            </VisualStateGroup>
-                        </VisualStateManager.VisualStateGroups>
-                    </Grid>
-                </ControlTemplate>
-            </Setter.Value>
-        </Setter>
-    </Style>
-
-    <!-- 
-        Standard AppBarButton Styles for use with Button and ToggleButton
-    
-        An AppBarButton Style is provided for each of the glyphs in the Segoe UI Symbol font.  
-        Uncomment any style you reference (as not all may be required).
-    -->
-
-    <!--
-    
-    <Style x:Key="SkipBackAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SkipBackAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Skip Back"/>
-        <Setter Property="Content" Value="&#xE100;"/>
-    </Style>
-    <Style x:Key="SkipAheadAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SkipAheadAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Skip Ahead"/>
-        <Setter Property="Content" Value="&#xE101;"/>
-    </Style>
-    <Style x:Key="PlayAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PlayAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Play"/>
-        <Setter Property="Content" Value="&#xE102;"/>
-    </Style>
-    <Style x:Key="PauseAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PauseAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Pause"/>
-        <Setter Property="Content" Value="&#xE103;"/>
-    </Style>
-    <Style x:Key="EditAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="EditAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Edit"/>
-        <Setter Property="Content" Value="&#xE104;"/>
-    </Style>
-    <Style x:Key="SaveAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SaveAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Save"/>
-        <Setter Property="Content" Value="&#xE105;"/>
-    </Style>
-    <Style x:Key="DeleteAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="DeleteAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Delete"/>
-        <Setter Property="Content" Value="&#xE106;"/>
-    </Style>
-    <Style x:Key="DiscardAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="DiscardAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Discard"/>
-        <Setter Property="Content" Value="&#xE107;"/>
-    </Style>
-    <Style x:Key="RemoveAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="RemoveAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Remove"/>
-        <Setter Property="Content" Value="&#xE108;"/>
-    </Style>
-    <Style x:Key="AddAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="AddAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Add"/>
-        <Setter Property="Content" Value="&#xE109;"/>
-    </Style>
-    <Style x:Key="NoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="NoAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="No"/>
-        <Setter Property="Content" Value="&#xE10A;"/>
-    </Style>
-    <Style x:Key="YesAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="YesAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Yes"/>
-        <Setter Property="Content" Value="&#xE10B;"/>
-    </Style>
-    <Style x:Key="MoreAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MoreAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="More"/>
-        <Setter Property="Content" Value="&#xE10C;"/>
-    </Style>
-    <Style x:Key="RedoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="RedoAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Redo"/>
-        <Setter Property="Content" Value="&#xE10D;"/>
-    </Style>
-    <Style x:Key="UndoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="UndoAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Undo"/>
-        <Setter Property="Content" Value="&#xE10E;"/>
-    </Style>
-    <Style x:Key="HomeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="HomeAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Home"/>
-        <Setter Property="Content" Value="&#xE10F;"/>
-    </Style>
-    <Style x:Key="OutAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="OutAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Out"/>
-        <Setter Property="Content" Value="&#xE110;"/>
-    </Style>
-    <Style x:Key="NextAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="NextAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Next"/>
-        <Setter Property="Content" Value="&#xE111;"/>
-    </Style>
-    <Style x:Key="PreviousAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PreviousAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Previous"/>
-        <Setter Property="Content" Value="&#xE112;"/>
-    </Style>
-    <Style x:Key="FavoriteAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="FavoriteAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Favorite"/>
-        <Setter Property="Content" Value="&#xE113;"/>
-    </Style>
-    <Style x:Key="PhotoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PhotoAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Photo"/>
-        <Setter Property="Content" Value="&#xE114;"/>
-    </Style>
-    <Style x:Key="SettingsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SettingsAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Settings"/>
-        <Setter Property="Content" Value="&#xE115;"/>
-    </Style>
-    -->
-
-    <!--
-    <Style x:Key="VideoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="VideoAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Video"/>
-        <Setter Property="Content" Value="&#xE116;"/>
-    </Style>
-    <Style x:Key="RefreshAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="RefreshAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Refresh"/>
-        <Setter Property="Content" Value="&#xE117;"/>
-    </Style>
-    <Style x:Key="DownloadAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="DownloadAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Download"/>
-        <Setter Property="Content" Value="&#xE118;"/>
-    </Style>
-    <Style x:Key="MailAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MailAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Mail"/>
-        <Setter Property="Content" Value="&#xE119;"/>
-    </Style>
-    <Style x:Key="SearchAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SearchAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Search"/>
-        <Setter Property="Content" Value="&#xE11A;"/>
-    </Style>
-    <Style x:Key="HelpAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="HelpAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Help"/>
-        <Setter Property="Content" Value="&#xE11B;"/>
-    </Style>
-    <Style x:Key="UploadAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="UploadAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Upload"/>
-        <Setter Property="Content" Value="&#xE11C;"/>
-    </Style>
-    <Style x:Key="EmojiAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="EmojiAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Emoji"/>
-        <Setter Property="Content" Value="&#xE11D;"/>
-    </Style>
-    <Style x:Key="TwoPageAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="TwoPageAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Two Page"/>
-        <Setter Property="Content" Value="&#xE11E;"/>
-    </Style>
-    <Style x:Key="LeaveChatAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="LeaveChatAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Upload"/>
-        <Setter Property="Content" Value="&#xE11F;"/>
-    </Style>
-    <Style x:Key="MailForwardAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MailForwardAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Forward Mail"/>
-        <Setter Property="Content" Value="&#xE120;"/>
-    </Style>
-    <Style x:Key="ClockAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ClockAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Clock"/>
-        <Setter Property="Content" Value="&#xE121;"/>
-    </Style>
-    <Style x:Key="SendAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SendAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Send"/>
-        <Setter Property="Content" Value="&#xE122;"/>
-    </Style>
-    <Style x:Key="CropAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="CropAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Crop"/>
-        <Setter Property="Content" Value="&#xE123;"/>
-    </Style>
-    <Style x:Key="RotateCameraAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="RotateCameraAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Rotate Camera"/>
-        <Setter Property="Content" Value="&#xE124;"/>
-    </Style>
-    <Style x:Key="PeopleAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PeopleAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="People"/>
-        <Setter Property="Content" Value="&#xE125;"/>
-    </Style>
-    <Style x:Key="ClosePaneAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ClosePaneAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Close Pane"/>
-        <Setter Property="Content" Value="&#xE126;"/>
-    </Style>
-    <Style x:Key="OpenPaneAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="OpenPaneAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Open Pane"/>
-        <Setter Property="Content" Value="&#xE127;"/>
-    </Style>
-    -->
-
-    <!--
-    <Style x:Key="WorldAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="WorldAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="World"/>
-        <Setter Property="Content" Value="&#xE128;"/>
-    </Style>
-    <Style x:Key="FlagAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="FlagAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Flag"/>
-        <Setter Property="Content" Value="&#xE129;"/>
-    </Style>
-    <Style x:Key="PreviewLinkAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PreviewLinkAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Preview Link"/>
-        <Setter Property="Content" Value="&#xE12A;"/>
-    </Style>
-    <Style x:Key="GlobeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="GlobeAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Globe"/>
-        <Setter Property="Content" Value="&#xE12B;"/>
-    </Style>
-    <Style x:Key="TrimAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="TrimAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Trim"/>
-        <Setter Property="Content" Value="&#xE12C;"/>
-    </Style>
-    <Style x:Key="AttachCameraAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="AttachCameraAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Attach Camera"/>
-        <Setter Property="Content" Value="&#xE12D;"/>
-    </Style>
-    <Style x:Key="ZoomInAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ZoomInAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Zoom In"/>
-        <Setter Property="Content" Value="&#xE12E;"/>
-    </Style>
-    <Style x:Key="BookmarksAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="BookmarksAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Bookmarks"/>
-        <Setter Property="Content" Value="&#xE12F;"/>
-    </Style>
-    <Style x:Key="DocumentAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="DocumentAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Document"/>
-        <Setter Property="Content" Value="&#xE130;"/>
-    </Style>
-    <Style x:Key="ProtectedDocumentAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ProtectedDocumentAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Protected Document"/>
-        <Setter Property="Content" Value="&#xE131;"/>
-    </Style>
-    <Style x:Key="PageAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PageAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Page"/>
-        <Setter Property="Content" Value="&#xE132;"/>
-    </Style>
-    <Style x:Key="BulletsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="BulletsAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Bullets"/>
-        <Setter Property="Content" Value="&#xE133;"/>
-    </Style>
-    <Style x:Key="CommentAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="CommentAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Comment"/>
-        <Setter Property="Content" Value="&#xE134;"/>
-    </Style>
-    <Style x:Key="Mail2AppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="Mail2AppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Mail2"/>
-        <Setter Property="Content" Value="&#xE135;"/>
-    </Style>
-    <Style x:Key="ContactInfoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ContactInfoAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Contact Info"/>
-        <Setter Property="Content" Value="&#xE136;"/>
-    </Style>
-    <Style x:Key="HangUpAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="HangUpAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Hang Up"/>
-        <Setter Property="Content" Value="&#xE137;"/>
-    </Style>
-    <Style x:Key="ViewAllAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ViewAllAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="View All"/>
-        <Setter Property="Content" Value="&#xE138;"/>
-    </Style>
-    <Style x:Key="MapPinAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MapPinAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Map Pin"/>
-        <Setter Property="Content" Value="&#xE139;"/>
-    </Style>
-    <Style x:Key="PhoneAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PhoneAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Phone"/>
-        <Setter Property="Content" Value="&#xE13A;"/>
-    </Style>
-    <Style x:Key="VideoChatAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="VideoChatAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Video Chat"/>
-        <Setter Property="Content" Value="&#xE13B;"/>
-    </Style>
-    <Style x:Key="SwitchAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SwitchAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Switch"/>
-        <Setter Property="Content" Value="&#xE13C;"/>
-    </Style>
-    <Style x:Key="ContactAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ContactAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Contact"/>
-        <Setter Property="Content" Value="&#xE13D;"/>
-    </Style>
-
-    -->
-
-    <!--
-
-    <Style x:Key="RenameAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="RenameAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Rename"/>
-        <Setter Property="Content" Value="&#xE13E;"/>
-    </Style>
-    <Style x:Key="PinAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PinAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Pin"/>
-        <Setter Property="Content" Value="&#xE141;"/>
-    </Style>
-    <Style x:Key="MusicInfoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MusicInfoAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Music Info"/>
-        <Setter Property="Content" Value="&#xE142;"/>
-    </Style>
-    <Style x:Key="GoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="GoAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Go"/>
-        <Setter Property="Content" Value="&#xE143;"/>
-    </Style>
-    <Style x:Key="KeyboardAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="KeyboardAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Keyboard"/>
-        <Setter Property="Content" Value="&#xE144;"/>
-    </Style>
-    <Style x:Key="DockLeftAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="DockLeftAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Dock Left"/>
-        <Setter Property="Content" Value="&#xE145;"/>
-    </Style>
-    <Style x:Key="DockRightAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="DockRightAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Dock Right"/>
-        <Setter Property="Content" Value="&#xE146;"/>
-    </Style>
-    <Style x:Key="DockBottomAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="DockBottomAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Dock Bottom"/>
-        <Setter Property="Content" Value="&#xE147;"/>
-    </Style>
-    <Style x:Key="RemoteAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="RemoteAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Remote"/>
-        <Setter Property="Content" Value="&#xE148;"/>
-    </Style>
-    <Style x:Key="SyncAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SyncAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Sync"/>
-        <Setter Property="Content" Value="&#xE149;"/>
-    </Style>
-    <Style x:Key="RotateAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="RotateAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Rotate"/>
-        <Setter Property="Content" Value="&#xE14A;"/>
-    </Style>
-    <Style x:Key="ShuffleAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ShuffleAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Shuffle"/>
-        <Setter Property="Content" Value="&#xE14B;"/>
-    </Style>
-    <Style x:Key="ListAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ListAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="List"/>
-        <Setter Property="Content" Value="&#xE14C;"/>
-    </Style>
-    <Style x:Key="ShopAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ShopAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Shop"/>
-        <Setter Property="Content" Value="&#xE14D;"/>
-    </Style>
-    <Style x:Key="SelectAllAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SelectAllAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Select All"/>
-        <Setter Property="Content" Value="&#xE14E;"/>
-    </Style>
-    <Style x:Key="OrientationAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="OrientationAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Orientation"/>
-        <Setter Property="Content" Value="&#xE14F;"/>
-    </Style>
-    <Style x:Key="ImportAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ImportAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Import"/>
-        <Setter Property="Content" Value="&#xE150;"/>
-    </Style>
-    <Style x:Key="ImportAllAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ImportAllAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Import All"/>
-        <Setter Property="Content" Value="&#xE151;"/>
-    </Style>
-    <Style x:Key="BrowsePhotosAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="BrowsePhotosAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Browse Photos"/>
-        <Setter Property="Content" Value="&#xE155;"/>
-    </Style>
-    <Style x:Key="WebcamAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="WebcamAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Webcam"/>
-        <Setter Property="Content" Value="&#xE156;"/>
-    </Style>
-    -->
-
-    <!--
-    <Style x:Key="PicturesAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PicturesAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Pictures"/>
-        <Setter Property="Content" Value="&#xE158;"/>
-    </Style>
-    <Style x:Key="SaveLocalAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SaveLocalAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Save Local"/>
-        <Setter Property="Content" Value="&#xE159;"/>
-    </Style>
-    <Style x:Key="CaptionAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="CaptionAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Caption"/>
-        <Setter Property="Content" Value="&#xE15A;"/>
-    </Style>
-    <Style x:Key="StopAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="StopAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Stop"/>
-        <Setter Property="Content" Value="&#xE15B;"/>
-    </Style>
-    <Style x:Key="ShowResultsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ShowResultsAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Show Results"/>
-        <Setter Property="Content" Value="&#xE15C;"/>
-    </Style>
-    <Style x:Key="VolumeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="VolumeAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Volume"/>
-        <Setter Property="Content" Value="&#xE15D;"/>
-    </Style>
-    <Style x:Key="RepairAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="RepairAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Repair"/>
-        <Setter Property="Content" Value="&#xE15E;"/>
-    </Style>
-    <Style x:Key="MessageAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MessageAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Message"/>
-        <Setter Property="Content" Value="&#xE15F;"/>
-    </Style>
-    <Style x:Key="Page2AppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="Page2AppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Page2"/>
-        <Setter Property="Content" Value="&#xE160;"/>
-    </Style>
-    <Style x:Key="CalendarDayAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="CalendarDayAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Day"/>
-        <Setter Property="Content" Value="&#xE161;"/>
-    </Style>
-    <Style x:Key="CalendarWeekAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="CalendarWeekAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Week"/>
-        <Setter Property="Content" Value="&#xE162;"/>
-    </Style>
-    <Style x:Key="CalendarAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="CalendarAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Calendar"/>
-        <Setter Property="Content" Value="&#xE163;"/>
-    </Style>
-    <Style x:Key="CharactersAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="CharactersAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Characters"/>
-        <Setter Property="Content" Value="&#xE164;"/>
-    </Style>
-    <Style x:Key="MailReplyAllAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MailReplyAllAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Reply All"/>
-        <Setter Property="Content" Value="&#xE165;"/>
-    </Style>
-    <Style x:Key="ReadAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ReadAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Read"/>
-        <Setter Property="Content" Value="&#xE166;"/>
-    </Style>
-    <Style x:Key="LinkAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="LinkAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Link"/>
-        <Setter Property="Content" Value="&#xE167;"/>
-    </Style>
-    <Style x:Key="AccountsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="AccountsAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Accounts"/>
-        <Setter Property="Content" Value="&#xE168;"/>
-    </Style>
-    <Style x:Key="ShowBccAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ShowBccAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Show Bcc"/>
-        <Setter Property="Content" Value="&#xE169;"/>
-    </Style>
-    <Style x:Key="HideBccAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="HideBccAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Hide Bcc"/>
-        <Setter Property="Content" Value="&#xE16A;"/>
-    </Style>
-    -->
-
-    <!--
-    <Style x:Key="CutAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="CutAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Cut"/>
-        <Setter Property="Content" Value="&#xE16B;"/>
-    </Style>
-    <Style x:Key="AttachAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="AttachAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Attach"/>
-        <Setter Property="Content" Value="&#xE16C;"/>
-    </Style>
-    <Style x:Key="PasteAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PasteAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Paste"/>
-        <Setter Property="Content" Value="&#xE16D;"/>
-    </Style>
-    <Style x:Key="FilterAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="FilterAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Filter"/>
-        <Setter Property="Content" Value="&#xE16E;"/>
-    </Style>
-    <Style x:Key="CopyAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="CopyAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Copy"/>
-        <Setter Property="Content" Value="&#xE16F;"/>
-    </Style>
-    <Style x:Key="Emoji2AppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="Emoji2AppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Emoji2"/>
-        <Setter Property="Content" Value="&#xE170;"/>
-    </Style>
-    <Style x:Key="ImportantAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ImportantAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Important"/>
-        <Setter Property="Content" Value="&#xE171;"/>
-    </Style>
-    <Style x:Key="MailReplyAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MailReplyAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Reply"/>
-        <Setter Property="Content" Value="&#xE172;"/>
-    </Style>
-    <Style x:Key="SlideShowAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SlideShowAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Slideshow"/>
-        <Setter Property="Content" Value="&#xE173;"/>
-    </Style>
-    <Style x:Key="SortAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SortAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Sort"/>
-        <Setter Property="Content" Value="&#xE174;"/>
-    </Style>
-    <Style x:Key="ManageAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ManageAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Manage"/>
-        <Setter Property="Content" Value="&#xE178;"/>
-    </Style>
-    <Style x:Key="AllAppsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="AllAppsAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="All Apps"/>
-        <Setter Property="Content" Value="&#xE179;"/>
-    </Style>
-    <Style x:Key="DisconnectDriveAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="DisconnectDriveAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Disconnect Drive"/>
-        <Setter Property="Content" Value="&#xE17A;"/>
-    </Style>
-    <Style x:Key="MapDriveAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MapDriveAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Map Drive"/>
-        <Setter Property="Content" Value="&#xE17B;"/>
-    </Style>
-    <Style x:Key="NewWindowAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="NewWindowAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="New Window"/>
-        <Setter Property="Content" Value="&#xE17C;"/>
-    </Style>
-    <Style x:Key="OpenWithAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="OpenWithAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Open With"/>
-        <Setter Property="Content" Value="&#xE17D;"/>
-    </Style>
-    <Style x:Key="ContactPresenceAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ContactPresenceAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Presence"/>
-        <Setter Property="Content" Value="&#xE181;"/>
-    </Style>
-    <Style x:Key="PriorityAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PriorityAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Priority"/>
-        <Setter Property="Content" Value="&#xE182;"/>
-    </Style>
-    <Style x:Key="UploadSkyDriveAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="UploadSkyDriveAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Skydrive"/>
-        <Setter Property="Content" Value="&#xE183;"/>
-    </Style>
-    <Style x:Key="GoToTodayAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="GoToTodayAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Today"/>
-        <Setter Property="Content" Value="&#xE184;"/>
-    </Style>
-    <Style x:Key="FontAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="FontAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Font"/>
-        <Setter Property="Content" Value="&#xE185;"/>
-    </Style>
-
-    -->
-
-    <!--
-
-    <Style x:Key="FontColorAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="FontColorAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Font Color"/>
-        <Setter Property="Content" Value="&#xE186;"/>
-    </Style>
-    <Style x:Key="Contact2AppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="Contact2AppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Contact"/>
-        <Setter Property="Content" Value="&#xE187;"/>
-    </Style>
-    <Style x:Key="FolderppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="FolderAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Folder"/>
-        <Setter Property="Content" Value="&#xE188;"/>
-    </Style>
-    <Style x:Key="AudioAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="AudioAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Audio"/>
-        <Setter Property="Content" Value="&#xE189;"/>
-    </Style>
-    <Style x:Key="PlaceholderAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PlaceholderAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Placeholder"/>
-        <Setter Property="Content" Value="&#xE18A;"/>
-    </Style>
-    <Style x:Key="ViewAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ViewAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="View"/>
-        <Setter Property="Content" Value="&#xE18B;"/>
-    </Style>
-    <Style x:Key="SetLockScreenAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SetLockscreenAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Set Lockscreen"/>
-        <Setter Property="Content" Value="&#xE18C;"/>
-    </Style>
-    <Style x:Key="SetTitleAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SetTitleAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Set Title"/>
-        <Setter Property="Content" Value="&#xE18D;"/>
-    </Style>
-    <Style x:Key="CcAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="CcAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Cc"/>
-        <Setter Property="Content" Value="&#xE190;"/>
-    </Style>
-    <Style x:Key="StopSlideShowAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="StopSlideshowAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Stop Slideshow"/>
-        <Setter Property="Content" Value="&#xE191;"/>
-    </Style>
-    <Style x:Key="PermissionsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PermissionsAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Permisions"/>
-        <Setter Property="Content" Value="&#xE192;"/>
-    </Style>
-    <Style x:Key="HighlightAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="HighlightAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Highlight"/>
-        <Setter Property="Content" Value="&#xE193;"/>
-    </Style>
-    <Style x:Key="DisableUpdatesAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="DisableUpdatesAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Disable Updates"/>
-        <Setter Property="Content" Value="&#xE194;"/>
-    </Style>
-    <Style x:Key="UnfavoriteAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="UnfavoriteAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Unfavorite"/>
-        <Setter Property="Content" Value="&#xE195;"/>
-    </Style>
-    <Style x:Key="UnPinAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="UnPinAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Unpin"/>
-        <Setter Property="Content" Value="&#xE196;"/>
-    </Style>
-    <Style x:Key="OpenLocalAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="OpenLocalAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Open Loal"/>
-        <Setter Property="Content" Value="&#xE197;"/>
-    </Style>
-    <Style x:Key="MuteAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MuteAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Mute"/>
-        <Setter Property="Content" Value="&#xE198;"/>
-    </Style>
-    <Style x:Key="ItalicAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ItalicAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Italic"/>
-        <Setter Property="Content" Value="&#xE199;"/>
-    </Style>
-    -->
-
-    <!--
-    <Style x:Key="UnderlineAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="UnderlineAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Underline"/>
-        <Setter Property="Content" Value="&#xE19A;"/>
-    </Style>
-    <Style x:Key="BoldAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="BoldAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Bold"/>
-        <Setter Property="Content" Value="&#xE19B;"/>
-    </Style>
-    <Style x:Key="MoveToFolderAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MoveToFolderAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Move to Folder"/>
-        <Setter Property="Content" Value="&#xE19C;"/>
-    </Style>
-    <Style x:Key="LikeDislikeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="LikeDislikeAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Like/Dislike"/>
-        <Setter Property="Content" Value="&#xE19D;"/>
-    </Style>
-    <Style x:Key="DislikeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="DislikeAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Dislike"/>
-        <Setter Property="Content" Value="&#xE19E;"/>
-    </Style>
-    <Style x:Key="LikeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="LikeAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Like"/>
-        <Setter Property="Content" Value="&#xE19F;"/>
-    </Style>
-    <Style x:Key="AlignRightAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="AlignRightAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Align Right"/>
-        <Setter Property="Content" Value="&#xE1A0;"/>
-    </Style>
-    <Style x:Key="AlignCenterAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="AlignCenterAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Align Center"/>
-        <Setter Property="Content" Value="&#xE1A1;"/>
-    </Style>
-    <Style x:Key="AlignLeftAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="AlignLeftAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Align Left"/>
-        <Setter Property="Content" Value="&#xE1A2;"/>
-    </Style>
-    <Style x:Key="ZoomAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ZoomAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Zoom"/>
-        <Setter Property="Content" Value="&#xE1A3;"/>
-    </Style>
-    <Style x:Key="ZoomOutAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ZoomOutAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Zoom Out"/>
-        <Setter Property="Content" Value="&#xE1A4;"/>
-    </Style>
-    <Style x:Key="OpenFileAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="OpenFileAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Open File"/>
-        <Setter Property="Content" Value="&#xE1A5;"/>
-    </Style>
-    <Style x:Key="OtherUserAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="OtherUserAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Other User"/>
-        <Setter Property="Content" Value="&#xE1A6;"/>
-    </Style>
-    <Style x:Key="AdminAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="AdminAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Admin"/>
-        <Setter Property="Content" Value="&#xE1A7;"/>
-    </Style>
-    <Style x:Key="StreetAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="StreetAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Street"/>
-        <Setter Property="Content" Value="&#xE1C3;"/>
-    </Style>
-    <Style x:Key="MapAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MapAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Map"/>
-        <Setter Property="Content" Value="&#xE1C4;"/>
-    </Style>
-    <Style x:Key="ClearSelectionAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ClearSelectionAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Clear Selection"/>
-        <Setter Property="Content" Value="&#xE1C5;"/>
-    </Style>
-    <Style x:Key="FontDecreaseAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="FontDecreaseAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Decrease Font"/>
-        <Setter Property="Content" Value="&#xE1C6;"/>
-    </Style>
-    <Style x:Key="FontIncreaseAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="FontIncreaseAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Increase Font"/>
-        <Setter Property="Content" Value="&#xE1C7;"/>
-    </Style>
-    <Style x:Key="FontSizeAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="FontSizeAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Font Size"/>
-        <Setter Property="Content" Value="&#xE1C8;"/>
-    </Style>
-    -->
-
-    <!--
-    <Style x:Key="CellphoneAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="CellphoneAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Cellphone"/>
-        <Setter Property="Content" Value="&#xE1C9;"/>
-    </Style>
-    <Style x:Key="ReshareAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ReshareAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Reshare"/>
-        <Setter Property="Content" Value="&#xE1CA;"/>
-    </Style>
-    <Style x:Key="TagAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="TagAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Tag"/>
-        <Setter Property="Content" Value="&#xE1CB;"/>
-    </Style>
-    <Style x:Key="RepeatOneAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="RepeatOneAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Repeat Once"/>
-        <Setter Property="Content" Value="&#xE1CC;"/>
-    </Style>
-    <Style x:Key="RepeatAllAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="RepeatAllAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Repeat All"/>
-        <Setter Property="Content" Value="&#xE1CD;"/>
-    </Style>
-    <Style x:Key="OutlineStarAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="OutlineStarAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Outline Star"/>
-        <Setter Property="Content" Value="&#xE1CE;"/>
-    </Style>
-    <Style x:Key="SolidStarAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SolidStarAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Solid Star"/>
-        <Setter Property="Content" Value="&#xE1CF;"/>
-    </Style>
-    <Style x:Key="CalculatorAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="CalculatorAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Calculator"/>
-        <Setter Property="Content" Value="&#xE1D0;"/>
-    </Style>
-    <Style x:Key="DirectionsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="DirectionsAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Directions"/>
-        <Setter Property="Content" Value="&#xE1D1;"/>
-    </Style>
-    <Style x:Key="TargetAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="TargetAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Target"/>
-        <Setter Property="Content" Value="&#xE1D2;"/>
-    </Style>
-    <Style x:Key="LibraryAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="LibraryAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Library"/>
-        <Setter Property="Content" Value="&#xE1D3;"/>
-    </Style>
-    <Style x:Key="PhonebookAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PhonebookAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Phonebook"/>
-        <Setter Property="Content" Value="&#xE1D4;"/>
-    </Style>
-    <Style x:Key="MemoAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MemoAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Memo"/>
-        <Setter Property="Content" Value="&#xE1D5;"/>
-    </Style>
-    <Style x:Key="MicrophoneAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="MicrophoneAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Microphone"/>
-        <Setter Property="Content" Value="&#xE1D6;"/>
-    </Style>
-    <Style x:Key="PostUpdateAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="PostUpdateAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Post Update"/>
-        <Setter Property="Content" Value="&#xE1D7;"/>
-    </Style>
-    <Style x:Key="BackToWindowAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="BackToWindowAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Back to Window"/>
-        <Setter Property="Content" Value="&#xE1D8;"/>
-    </Style>
-    -->
-
-    <!--
-    <Style x:Key="FullScreenAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="FullScreenAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Full Screen"/>
-        <Setter Property="Content" Value="&#xE1D9;"/>
-    </Style>
-    <Style x:Key="NewFolderAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="NewFolderAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="New Folder"/>
-        <Setter Property="Content" Value="&#xE1DA;"/>
-    </Style>
-    <Style x:Key="CalendarReplyAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="CalendarReplyAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Calendar Reply"/>
-        <Setter Property="Content" Value="&#xE1DB;"/>
-    </Style>
-    <Style x:Key="UnsyncFolderAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="UnsyncFolderAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Unsync Folder"/>
-        <Setter Property="Content" Value="&#xE1DD;"/>
-    </Style>
-    <Style x:Key="ReportHackedAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ReportHackedAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Report Hacked"/>
-        <Setter Property="Content" Value="&#xE1DE;"/>
-    </Style>
-    <Style x:Key="SyncFolderAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SyncFolderAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Sync Folder"/>
-        <Setter Property="Content" Value="&#xE1DF;"/>
-    </Style>
-    <Style x:Key="BlockContactAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="Block ContactAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="BlockContact"/>
-        <Setter Property="Content" Value="&#xE1E0;"/>
-    </Style>
-    <Style x:Key="SwitchAppsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="SwitchAppsAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Switch Apps"/>
-        <Setter Property="Content" Value="&#xE1E1;"/>
-    </Style>
-    <Style x:Key="AddFriendAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="AddFriendAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Add Friend"/>
-        <Setter Property="Content" Value="&#xE1E2;"/>
-    </Style>
-    <Style x:Key="TouchPointerAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="TouchPointerAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Touch Pointer"/>
-        <Setter Property="Content" Value="&#xE1E3;"/>
-    </Style>
-    <Style x:Key="GoToStartAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="GoToStartAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Go to Start"/>
-        <Setter Property="Content" Value="&#xE1E4;"/>
-    </Style>
-    <Style x:Key="ZeroBarsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ZeroBarsAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Zero Bars"/>
-        <Setter Property="Content" Value="&#xE1E5;"/>
-    </Style>
-    <Style x:Key="OneBarAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="OneBarAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="One Bar"/>
-        <Setter Property="Content" Value="&#xE1E6;"/>
-    </Style>
-    <Style x:Key="TwoBarsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="TwoBarsAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Two Bars"/>
-        <Setter Property="Content" Value="&#xE1E7;"/>
-    </Style>
-    <Style x:Key="ThreeBarsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="ThreeBarsAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Three Bars"/>
-        <Setter Property="Content" Value="&#xE1E8;"/>
-    </Style>
-    <Style x:Key="FourBarsAppBarButtonStyle" TargetType="ButtonBase" BasedOn="{StaticResource AppBarButtonStyle}">
-        <Setter Property="AutomationProperties.AutomationId" Value="FourBarsAppBarButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Four Bars"/>
-        <Setter Property="Content" Value="&#xE1E9;"/>
-    </Style>
-
-    -->
-
-    <!-- Title area styles -->
-
-    <Style x:Key="PageHeaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource HeaderTextStyle}">
-        <Setter Property="TextWrapping" Value="NoWrap"/>
-        <Setter Property="VerticalAlignment" Value="Bottom"/>
-        <Setter Property="Margin" Value="0,0,30,40"/>
-    </Style>
-
-    <Style x:Key="PageSubheaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource SubheaderTextStyle}">
-        <Setter Property="TextWrapping" Value="NoWrap"/>
-        <Setter Property="VerticalAlignment" Value="Bottom"/>
-        <Setter Property="Margin" Value="0,0,0,40"/>
-    </Style>
-
-    <Style x:Key="SnappedPageHeaderTextStyle" TargetType="TextBlock" BasedOn="{StaticResource PageSubheaderTextStyle}">
-        <Setter Property="Margin" Value="0,0,18,40"/>
-    </Style>
-
-    <!--
-        BackButtonStyle is used to style a Button for use in the title area of a page.  Margins appropriate for
-        the conventional page layout are included as part of the style.
-    -->
-    <Style x:Key="BackButtonStyle" TargetType="Button">
-        <Setter Property="MinWidth" Value="0"/>
-        <Setter Property="Width" Value="48"/>
-        <Setter Property="Height" Value="48"/>
-        <Setter Property="Margin" Value="36,0,36,36"/>
-        <Setter Property="VerticalAlignment" Value="Bottom"/>
-        <Setter Property="FontFamily" Value="Segoe UI Symbol"/>
-        <Setter Property="FontWeight" Value="Normal"/>
-        <Setter Property="FontSize" Value="56"/>
-        <Setter Property="AutomationProperties.AutomationId" Value="BackButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Back"/>
-        <Setter Property="AutomationProperties.ItemType" Value="Navigation Button"/>
-        <Setter Property="Template">
-            <Setter.Value>
-                <ControlTemplate TargetType="Button">
-                    <Grid x:Name="RootGrid">
-                        <Grid Margin="-1,-16,0,0">
-                            <TextBlock x:Name="BackgroundGlyph" Text="&#xE0A8;" Foreground="{StaticResource BackButtonBackgroundThemeBrush}"/>
-                            <TextBlock x:Name="NormalGlyph" Text="{StaticResource BackButtonGlyph}" Foreground="{StaticResource BackButtonForegroundThemeBrush}"/>
-                            <TextBlock x:Name="ArrowGlyph" Text="&#xE0A6;" Foreground="{StaticResource BackButtonPressedForegroundThemeBrush}" Opacity="0"/>
-                        </Grid>
-                        <Rectangle
-                            x:Name="FocusVisualWhite"
-                            IsHitTestVisible="False"
-                            Stroke="{StaticResource FocusVisualWhiteStrokeThemeBrush}"
-                            StrokeEndLineCap="Square"
-                            StrokeDashArray="1,1"
-                            Opacity="0"
-                            StrokeDashOffset="1.5"/>
-                        <Rectangle
-                            x:Name="FocusVisualBlack"
-                            IsHitTestVisible="False"
-                            Stroke="{StaticResource FocusVisualBlackStrokeThemeBrush}"
-                            StrokeEndLineCap="Square"
-                            StrokeDashArray="1,1"
-                            Opacity="0"
-                            StrokeDashOffset="0.5"/>
-
-                        <VisualStateManager.VisualStateGroups>
-                            <VisualStateGroup x:Name="CommonStates">
-                                <VisualState x:Name="Normal" />
-                                <VisualState x:Name="PointerOver">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonPointerOverBackgroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NormalGlyph" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonPointerOverForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Pressed">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                        <DoubleAnimation
-                                            Storyboard.TargetName="ArrowGlyph"
-                                            Storyboard.TargetProperty="Opacity"
-                                            To="1"
-                                            Duration="0"/>
-                                        <DoubleAnimation
-                                            Storyboard.TargetName="NormalGlyph"
-                                            Storyboard.TargetProperty="Opacity"
-                                            To="0"
-                                            Duration="0"/>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Disabled">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Visibility">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                            </VisualStateGroup>
-                            <VisualStateGroup x:Name="FocusStates">
-                                <VisualState x:Name="Focused">
-                                    <Storyboard>
-                                        <DoubleAnimation
-                                            Storyboard.TargetName="FocusVisualWhite"
-                                            Storyboard.TargetProperty="Opacity"
-                                            To="1"
-                                            Duration="0"/>
-                                        <DoubleAnimation
-                                            Storyboard.TargetName="FocusVisualBlack"
-                                            Storyboard.TargetProperty="Opacity"
-                                            To="1"
-                                            Duration="0"/>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Unfocused" />
-                                <VisualState x:Name="PointerFocused" />
-                            </VisualStateGroup>
-                        </VisualStateManager.VisualStateGroups>
-                    </Grid>
-                </ControlTemplate>
-            </Setter.Value>
-        </Setter>
-    </Style>
-
-    <!--
-        PortraitBackButtonStyle is used to style a Button for use in the title area of a portrait page.  Margins appropriate
-        for the conventional page layout are included as part of the style.
-    -->
-    <Style x:Key="PortraitBackButtonStyle" TargetType="Button" BasedOn="{StaticResource BackButtonStyle}">
-        <Setter Property="Margin" Value="26,0,26,36"/>
-    </Style>
-
-    <!--
-        SnappedBackButtonStyle is used to style a Button for use in the title area of a snapped page.  Margins appropriate
-        for the conventional page layout are included as part of the style.
-        
-        The obvious duplication here is necessary as the glyphs used in snapped are not merely smaller versions of the same
-        glyph but are actually distinct.
-    -->
-    <Style x:Key="SnappedBackButtonStyle" TargetType="Button">
-        <Setter Property="MinWidth" Value="0"/>
-        <Setter Property="Margin" Value="20,0,0,0"/>
-        <Setter Property="VerticalAlignment" Value="Bottom"/>
-        <Setter Property="FontFamily" Value="Segoe UI Symbol"/>
-        <Setter Property="FontWeight" Value="Normal"/>
-        <Setter Property="FontSize" Value="26.66667"/>
-        <Setter Property="AutomationProperties.AutomationId" Value="BackButton"/>
-        <Setter Property="AutomationProperties.Name" Value="Back"/>
-        <Setter Property="AutomationProperties.ItemType" Value="Navigation Button"/>
-        <Setter Property="Template">
-            <Setter.Value>
-                <ControlTemplate TargetType="Button">
-                    <Grid x:Name="RootGrid" Width="36" Height="36" Margin="-3,0,7,33">
-                        <Grid Margin="-1,-1,0,0">
-                            <TextBlock x:Name="BackgroundGlyph" Text="&#xE0D4;" Foreground="{StaticResource BackButtonBackgroundThemeBrush}"/>
-                            <TextBlock x:Name="NormalGlyph" Text="{StaticResource BackButtonSnappedGlyph}" Foreground="{StaticResource BackButtonForegroundThemeBrush}"/>
-                            <TextBlock x:Name="ArrowGlyph" Text="&#xE0C4;" Foreground="{StaticResource BackButtonPressedForegroundThemeBrush}" Opacity="0"/>
-                        </Grid>
-                        <Rectangle
-                            x:Name="FocusVisualWhite"
-                            IsHitTestVisible="False"
-                            Stroke="{StaticResource FocusVisualWhiteStrokeThemeBrush}"
-                            StrokeEndLineCap="Square"
-                            StrokeDashArray="1,1"
-                            Opacity="0"
-                            StrokeDashOffset="1.5"/>
-                        <Rectangle
-                            x:Name="FocusVisualBlack"
-                            IsHitTestVisible="False"
-                            Stroke="{StaticResource FocusVisualBlackStrokeThemeBrush}"
-                            StrokeEndLineCap="Square"
-                            StrokeDashArray="1,1"
-                            Opacity="0"
-                            StrokeDashOffset="0.5"/>
-
-                        <VisualStateManager.VisualStateGroups>
-                            <VisualStateGroup x:Name="CommonStates">
-                                <VisualState x:Name="Normal" />
-                                <VisualState x:Name="PointerOver">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonPointerOverBackgroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="NormalGlyph" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonPointerOverForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Pressed">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="BackgroundGlyph" Storyboard.TargetProperty="Foreground">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource BackButtonForegroundThemeBrush}"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                        <DoubleAnimation
-                                            Storyboard.TargetName="ArrowGlyph"
-                                            Storyboard.TargetProperty="Opacity"
-                                            To="1"
-                                            Duration="0"/>
-                                        <DoubleAnimation
-                                            Storyboard.TargetName="NormalGlyph"
-                                            Storyboard.TargetProperty="Opacity"
-                                            To="0"
-                                            Duration="0"/>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Disabled">
-                                    <Storyboard>
-                                        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="RootGrid" Storyboard.TargetProperty="Visibility">
-                                            <DiscreteObjectKeyFrame KeyTime="0" Value="Collapsed"/>
-                                        </ObjectAnimationUsingKeyFrames>
-                                    </Storyboard>
-                                </VisualState>
-                            </VisualStateGroup>
-                            <VisualStateGroup x:Name="FocusStates">
-                                <VisualState x:Name="Focused">
-                                    <Storyboard>
-                                        <DoubleAnimation
-                                            Storyboard.TargetName="FocusVisualWhite"
-                                            Storyboard.TargetProperty="Opacity"
-                                            To="1"
-                                            Duration="0"/>
-                                        <DoubleAnimation
-                                            Storyboard.TargetName="FocusVisualBlack"
-                                            Storyboard.TargetProperty="Opacity"
-                                            To="1"
-                                            Duration="0"/>
-                                    </Storyboard>
-                                </VisualState>
-                                <VisualState x:Name="Unfocused" />
-                                <VisualState x:Name="PointerFocused" />
-                            </VisualStateGroup>
-                        </VisualStateManager.VisualStateGroups>
-                    </Grid>
-                </ControlTemplate>
-            </Setter.Value>
-        </Setter>
-    </Style>
-
-    <!-- Item templates -->
-
-    <!-- Grid-appropriate 250 pixel square item template as seen in the GroupedItemsPage and ItemsPage -->
-    <DataTemplate x:Key="Standard250x250ItemTemplate">
-        <Grid HorizontalAlignment="Left" Width="250" Height="250">
-            <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}">
-                <Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
-            </Border>
-            <StackPanel VerticalAlignment="Bottom" Background="{StaticResource ListViewItemOverlayBackgroundThemeBrush}">
-                <TextBlock Text="{Binding Title}" Foreground="{StaticResource ListViewItemOverlayForegroundThemeBrush}" Style="{StaticResource TitleTextStyle}" Height="60" Margin="15,0,15,0"/>
-                <TextBlock Text="{Binding Subtitle}" Foreground="{StaticResource ListViewItemOverlaySecondaryForegroundThemeBrush}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap" Margin="15,0,15,10"/>
-            </StackPanel>
-        </Grid>
-    </DataTemplate>
-
-    <!-- Grid-appropriate 500 by 130 pixel item template as seen in the GroupDetailPage -->
-    <DataTemplate x:Key="Standard500x130ItemTemplate">
-        <Grid Height="110" Width="480" Margin="10">
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition Width="Auto"/>
-                <ColumnDefinition Width="*"/>
-            </Grid.ColumnDefinitions>
-            <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="110" Height="110">
-                <Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
-            </Border>
-            <StackPanel Grid.Column="1" VerticalAlignment="Top" Margin="10,0,0,0">
-                <TextBlock Text="{Binding Title}" Style="{StaticResource TitleTextStyle}" TextWrapping="NoWrap"/>
-                <TextBlock Text="{Binding Subtitle}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap"/>
-                <TextBlock Text="{Binding Description}" Style="{StaticResource BodyTextStyle}" MaxHeight="60"/>
-            </StackPanel>
-        </Grid>
-    </DataTemplate>
-
-    <!-- List-appropriate 130 pixel high item template as seen in the SplitPage -->
-    <DataTemplate x:Key="Standard130ItemTemplate">
-        <Grid Height="110" Margin="6">
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition Width="Auto"/>
-                <ColumnDefinition Width="*"/>
-            </Grid.ColumnDefinitions>
-            <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="110" Height="110">
-                <Image Source="{Binding Image}" Stretch="UniformToFill" AutomationProperties.Name="{Binding Title}"/>
-            </Border>
-            <StackPanel Grid.Column="1" VerticalAlignment="Top" Margin="10,0,0,0">
-                <TextBlock Text="{Binding Title}" Style="{StaticResource TitleTextStyle}" TextWrapping="NoWrap"/>
-                <TextBlock Text="{Binding Subtitle}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap"/>
-                <TextBlock Text="{Binding Description}" Style="{StaticResource BodyTextStyle}" MaxHeight="60"/>
-            </StackPanel>
-        </Grid>
-    </DataTemplate>
-
-    <!--
-        List-appropriate 80 pixel high item template as seen in the SplitPage when Filled, and
-        the following pages when snapped: GroupedItemsPage, GroupDetailPage, and ItemsPage
-    -->
-    <DataTemplate x:Key="Standard80ItemTemplate">
-        <Grid Margin="6">
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition Width="Auto"/>
-                <ColumnDefinition Width="*"/>
-            </Grid.ColumnDefinitions>
-            <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Width="60" Height="60">
-                <Image Source="{Binding Image}" Stretch="UniformToFill"/>
-            </Border>
-            <StackPanel Grid.Column="1" Margin="10,0,0,0">
-                <TextBlock Text="{Binding Title}" Style="{StaticResource ItemTextStyle}" MaxHeight="40"/>
-                <TextBlock Text="{Binding Subtitle}" Style="{StaticResource CaptionTextStyle}" TextWrapping="NoWrap"/>
-            </StackPanel>
-        </Grid>
-    </DataTemplate>
-
-    <!-- Grid-appropriate 300 by 70 pixel item template as seen in the SearchResultsPage -->
-    <DataTemplate x:Key="StandardSmallIcon300x70ItemTemplate">
-        <Grid Width="294" Margin="6">
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition Width="Auto"/>
-                <ColumnDefinition Width="*"/>
-            </Grid.ColumnDefinitions>
-            <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Margin="0,0,0,10" Width="40" Height="40">
-                <Image Source="{Binding Image}" Stretch="UniformToFill"/>
-            </Border>
-            <StackPanel Grid.Column="1" Margin="10,-10,0,0">
-                <TextBlock Text="{Binding Title}" Style="{StaticResource BodyTextStyle}" TextWrapping="NoWrap"/>
-                <TextBlock Text="{Binding Subtitle}" Style="{StaticResource BodyTextStyle}" Foreground="{StaticResource ApplicationSecondaryForegroundThemeBrush}" TextWrapping="NoWrap"/>
-                <TextBlock Text="{Binding Description}" Style="{StaticResource BodyTextStyle}" Foreground="{StaticResource ApplicationSecondaryForegroundThemeBrush}" TextWrapping="NoWrap"/>
-            </StackPanel>
-        </Grid>
-    </DataTemplate>
-
-    <!-- List-appropriate 70 pixel high item template as seen in the SearchResultsPage when Snapped -->
-    <DataTemplate x:Key="StandardSmallIcon70ItemTemplate">
-        <Grid Margin="6">
-            <Grid.ColumnDefinitions>
-                <ColumnDefinition Width="Auto"/>
-                <ColumnDefinition Width="*"/>
-            </Grid.ColumnDefinitions>
-            <Border Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Margin="0,0,0,10" Width="40" Height="40">
-                <Image Source="{Binding Image}" Stretch="UniformToFill"/>
-            </Border>
-            <StackPanel Grid.Column="1" Margin="10,-10,0,0">
-                <TextBlock Text="{Binding Title}" Style="{StaticResource BodyTextStyle}" TextWrapping="NoWrap"/>
-                <TextBlock Text="{Binding Subtitle}" Style="{StaticResource BodyTextStyle}" Foreground="{StaticResource ApplicationSecondaryForegroundThemeBrush}" TextWrapping="NoWrap"/>
-                <TextBlock Text="{Binding Description}" Style="{StaticResource BodyTextStyle}" Foreground="{StaticResource ApplicationSecondaryForegroundThemeBrush}" TextWrapping="NoWrap"/>
-            </StackPanel>
-        </Grid>
-    </DataTemplate>
-
-    <!--
-      190x130 pixel item template for displaying file previews as seen in the FileOpenPickerPage
-      Includes an elaborate tooltip to display title and description text
-  -->
-    <DataTemplate x:Key="StandardFileWithTooltip190x130ItemTemplate">
-        <Grid>
-            <Grid Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}">
-                <Image
-                    Source="{Binding Image}"
-                    Width="190"
-                    Height="130"
-                    HorizontalAlignment="Center"
-                    VerticalAlignment="Center"
-                    Stretch="Uniform"/>
-            </Grid>
-            <ToolTipService.Placement>Mouse</ToolTipService.Placement>
-            <ToolTipService.ToolTip>
-                <ToolTip>
-                    <ToolTip.Style>
-                        <Style TargetType="ToolTip">
-                            <Setter Property="BorderBrush" Value="{StaticResource ToolTipBackgroundThemeBrush}" />
-                            <Setter Property="Padding" Value="0" />
-                        </Style>
-                    </ToolTip.Style>
-
-                    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
-                        <Grid.ColumnDefinitions>
-                            <ColumnDefinition Width="Auto"/>
-                            <ColumnDefinition Width="*"/>
-                        </Grid.ColumnDefinitions>
-
-                        <Grid Background="{StaticResource ListViewItemPlaceholderBackgroundThemeBrush}" Margin="20">
-                            <Image
-                                Source="{Binding Image}"
-                                Width="160"
-                                Height="160"
-                                HorizontalAlignment="Center"
-                                VerticalAlignment="Center"
-                                Stretch="Uniform"/>
-                        </Grid>
-                        <StackPanel Width="200" Grid.Column="1" Margin="0,20,20,20">
-                            <TextBlock Text="{Binding Title}" TextWrapping="NoWrap" Style="{StaticResource BodyTextStyle}"/>
-                            <TextBlock Text="{Binding Description}" MaxHeight="140" Foreground="{StaticResource ApplicationSecondaryForegroundThemeBrush}" Style="{StaticResource BodyTextStyle}"/>
-                        </StackPanel>
-                    </Grid>
-                </ToolTip>
-            </ToolTipService.ToolTip>
-        </Grid>
-    </DataTemplate>
-
-    <!-- ScrollViewer styles -->
-
-    <Style x:Key="HorizontalScrollViewerStyle" TargetType="ScrollViewer">
-        <Setter Property="HorizontalScrollBarVisibility" Value="Auto"/>
-        <Setter Property="VerticalScrollBarVisibility" Value="Disabled"/>
-        <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Enabled" />
-        <Setter Property="ScrollViewer.VerticalScrollMode" Value="Disabled" />
-        <Setter Property="ScrollViewer.ZoomMode" Value="Disabled" />
-    </Style>
-
-    <Style x:Key="VerticalScrollViewerStyle" TargetType="ScrollViewer">
-        <Setter Property="HorizontalScrollBarVisibility" Value="Disabled"/>
-        <Setter Property="VerticalScrollBarVisibility" Value="Auto"/>
-        <Setter Property="ScrollViewer.HorizontalScrollMode" Value="Disabled" />
-        <Setter Property="ScrollViewer.VerticalScrollMode" Value="Enabled" />
-        <Setter Property="ScrollViewer.ZoomMode" Value="Disabled" />
-    </Style>
-
-    <!-- Page layout roots typically use entrance animations and a theme-appropriate background color -->
-
-    <Style x:Key="LayoutRootStyle" TargetType="Panel">
-        <Setter Property="Background" Value="{StaticResource ApplicationPageBackgroundThemeBrush}"/>
-        <Setter Property="ChildrenTransitions">
-            <Setter.Value>
-                <TransitionCollection>
-                    <EntranceThemeTransition/>
-                </TransitionCollection>
-            </Setter.Value>
-        </Setter>
-    </Style>
-</ResourceDictionary>
diff --git a/samples/Demo.Win81/Demo.Win81.csproj b/samples/Demo.Win81/Demo.Win81.csproj
deleted file mode 100644
index d8217f7..0000000
--- a/samples/Demo.Win81/Demo.Win81.csproj
+++ /dev/null
@@ -1,163 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{EF1121FE-83A7-4BFC-9754-4C928AAA01B9}</ProjectGuid>
-    <OutputType>AppContainerExe</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Demo.Win81</RootNamespace>
-    <AssemblyName>Demo.Win81</AssemblyName>
-    <DefaultLanguage>en-US</DefaultLanguage>
-    <FileAlignment>512</FileAlignment>
-    <ProjectTypeGuids>{BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <PackageCertificateKeyFile>Demo.Win81_TemporaryKey.pfx</PackageCertificateKeyFile>
-    <TargetPlatformVersion>8.1</TargetPlatformVersion>
-    <MinimumVisualStudioVersion>12</MinimumVisualStudioVersion>
-    <TargetFrameworkVersion />
-    <PackageCertificateThumbprint>4A9837EC0B45BE9D716CD54AE44F8AEF51E489C8</PackageCertificateThumbprint>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE;NETFX_CORE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE;NETFX_CORE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|ARM'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\ARM\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE;NETFX_CORE</DefineConstants>
-    <NoWarn>;2008</NoWarn>
-    <DebugType>full</DebugType>
-    <PlatformTarget>ARM</PlatformTarget>
-    <UseVSHostingProcess>false</UseVSHostingProcess>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>true</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|ARM'">
-    <OutputPath>bin\ARM\Release\</OutputPath>
-    <DefineConstants>TRACE;NETFX_CORE</DefineConstants>
-    <Optimize>true</Optimize>
-    <NoWarn>;2008</NoWarn>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>ARM</PlatformTarget>
-    <UseVSHostingProcess>false</UseVSHostingProcess>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>true</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\x64\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE;NETFX_CORE</DefineConstants>
-    <NoWarn>;2008</NoWarn>
-    <DebugType>full</DebugType>
-    <PlatformTarget>x64</PlatformTarget>
-    <UseVSHostingProcess>false</UseVSHostingProcess>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>true</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
-    <OutputPath>bin\x64\Release\</OutputPath>
-    <DefineConstants>TRACE;NETFX_CORE</DefineConstants>
-    <Optimize>true</Optimize>
-    <NoWarn>;2008</NoWarn>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>x64</PlatformTarget>
-    <UseVSHostingProcess>false</UseVSHostingProcess>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>true</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\x86\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE;NETFX_CORE</DefineConstants>
-    <NoWarn>;2008</NoWarn>
-    <DebugType>full</DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <UseVSHostingProcess>false</UseVSHostingProcess>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>true</Prefer32Bit>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
-    <OutputPath>bin\x86\Release\</OutputPath>
-    <DefineConstants>TRACE;NETFX_CORE</DefineConstants>
-    <Optimize>true</Optimize>
-    <NoWarn>;2008</NoWarn>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <UseVSHostingProcess>false</UseVSHostingProcess>
-    <ErrorReport>prompt</ErrorReport>
-    <Prefer32Bit>true</Prefer32Bit>
-  </PropertyGroup>
-  <ItemGroup>
-    <!-- A reference to the entire .Net Framework and Windows SDK are automatically included -->
-    <ProjectReference Include="..\..\src\Weakly\Weakly.csproj">
-      <Project>{aa37f0c0-aa8c-46de-ac8a-db844c9ac556}</Project>
-      <Name>Weakly</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\Demo.Library\Demo.Library.csproj">
-      <Project>{ece781c9-3808-46ca-a947-97b1fed9da51}</Project>
-      <Name>Demo.Library</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="App.xaml.cs">
-      <DependentUpon>App.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="MainPage.xaml.cs">
-      <DependentUpon>MainPage.xaml</DependentUpon>
-    </Compile>
-    <Compile Include="Properties\AssemblyInfo.cs" />
-  </ItemGroup>
-  <ItemGroup>
-    <AppxManifest Include="Package.appxmanifest">
-      <SubType>Designer</SubType>
-    </AppxManifest>
-    <None Include="Demo.Win81_TemporaryKey.pfx" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="Assets\Logo.png" />
-    <Content Include="Assets\SmallLogo.png" />
-    <Content Include="Assets\SplashScreen.png" />
-    <Content Include="Assets\StoreLogo.png" />
-  </ItemGroup>
-  <ItemGroup>
-    <ApplicationDefinition Include="App.xaml">
-      <Generator>MSBuild:Compile</Generator>
-      <SubType>Designer</SubType>
-    </ApplicationDefinition>
-    <Page Include="Common\StandardStyles.xaml">
-      <Generator>MSBuild:Compile</Generator>
-      <SubType>Designer</SubType>
-    </Page>
-    <Page Include="MainPage.xaml">
-      <Generator>MSBuild:Compile</Generator>
-      <SubType>Designer</SubType>
-    </Page>
-  </ItemGroup>
-  <PropertyGroup Condition=" '$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '12.0' ">
-    <VisualStudioVersion>12.0</VisualStudioVersion>
-  </PropertyGroup>
-  <Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
diff --git a/samples/Demo.Win81/Demo.Win81_TemporaryKey.pfx b/samples/Demo.Win81/Demo.Win81_TemporaryKey.pfx
deleted file mode 100644
index 99d9e41636562a831135445a2af1916848c6c405..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2512
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
V#t!KYdHZ`a=gH5H21?DZ^<N-mVb1^n

diff --git a/samples/Demo.Win81/MainPage.xaml b/samples/Demo.Win81/MainPage.xaml
deleted file mode 100644
index 89faf66..0000000
--- a/samples/Demo.Win81/MainPage.xaml
+++ /dev/null
@@ -1,22 +0,0 @@
-<Page
-    x:Class="Demo.Win8.MainPage"
-    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-    xmlns:local="using:Demo.Win8"
-    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
-    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
-    mc:Ignorable="d">
-
-    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">
-        <StackPanel>
-            <Border BorderThickness="1" BorderBrush="Gray">
-                <StackPanel>
-                    <TextBlock>Delegate samples</TextBlock>
-                    <TextBlock Margin="0,5" Foreground="Gray" TextWrapping="Wrap">Weakly can call private static and instance methods on Silverlight, by compiling an Expression tree.</TextBlock>
-                    <Button Content="WeakAction and WeakFunc" Click="OnWeakActionAndWeakFunc" />
-                    <Button Content="DynamicDelegate" Click="OnDynamicDelegate" />
-                </StackPanel>
-            </Border>
-        </StackPanel>
-    </Grid>
-</Page>
diff --git a/samples/Demo.Win81/MainPage.xaml.cs b/samples/Demo.Win81/MainPage.xaml.cs
deleted file mode 100644
index 1e74758..0000000
--- a/samples/Demo.Win81/MainPage.xaml.cs
+++ /dev/null
@@ -1,106 +0,0 @@
-using System;
-using System.Threading.Tasks;
-using Windows.UI.Popups;
-using Demo.Library;
-using Weakly;
-using Windows.UI.Xaml;
-using Windows.UI.Xaml.Controls;
-using Windows.UI.Xaml.Navigation;
-using Weakly.Builders;
-
-namespace Demo.Win8
-{
-    /// <summary>
-    /// An empty page that can be used on its own or navigated to within a Frame.
-    /// </summary>
-    public sealed partial class MainPage : Page
-    {
-        public MainPage()
-        {
-            InitializeComponent();
-        }
-
-        /// <summary>
-        /// Invoked when this page is about to be displayed in a Frame.
-        /// </summary>
-        /// <param name="e">Event data that describes how this page was reached.  The Parameter
-        /// property is typically used to configure the page.</param>
-        protected override void OnNavigatedTo(NavigationEventArgs e)
-        {
-        }
-
-        private async void OnWeakActionAndWeakFunc(object sender, RoutedEventArgs e)
-        {
-            var instance = Activator.CreateInstance(TestRunner.TestMethodsType);
-
-            object resultObject = null;
-            try
-            {
-                var method = TestRunner.GetTestMethod("VoidNoParams");
-                var action = new WeakAction(instance, method);
-                action.Invoke();
-            }
-            catch (Exception ex)
-            {
-                resultObject = ex.Message;
-            }
-
-            await ShowMessageBox(resultObject, "VoidNoParams");
-
-            try
-            {
-                var method = TestRunner.GetTestMethod("IntOneParam");
-                var function = new WeakFunc<int, int>(instance, method);
-                resultObject = function.Invoke(10);
-            }
-            catch (Exception ex)
-            {
-                resultObject = ex.Message;
-            }
-
-            await ShowMessageBox(resultObject, "VoidNoParams");
-        }
-
-        private async void OnDynamicDelegate(object sender, RoutedEventArgs e)
-        {
-            await InvokeDynamicDelegate(null, "StaticVoidNoParams");
-            await InvokeDynamicDelegate(null, "StaticIntNoParams");
-            await InvokeDynamicDelegate(null, "StaticVoidOneParam", 1);
-            await InvokeDynamicDelegate(null, "StaticIntOneParam", 2);
-
-            var instance = Activator.CreateInstance(TestRunner.TestMethodsType);
-            await InvokeDynamicDelegate(instance, "VoidNoParams");
-            await InvokeDynamicDelegate(instance, "IntNoParams");
-            await InvokeDynamicDelegate(instance, "VoidOneParam", 1);
-            await InvokeDynamicDelegate(instance, "IntOneParam", 2);
-        }
-
-        private static async Task InvokeDynamicDelegate(object instance, string methodName, params object[] parameters)
-        {
-            object resultObject;
-
-            try
-            {
-                var method = TestRunner.GetTestMethod(methodName);
-                var function = Builder.DynamicDelegate.BuildDynamic(method);
-                resultObject = function(instance, parameters);
-            }
-            catch (Exception ex)
-            {
-                resultObject = ex.Message;
-            }
-
-            await ShowMessageBox(resultObject, methodName);
-        }
-
-        private static async Task ShowMessageBox(object result, string caption)
-        {
-            var message = (result != null) ? result.ToString() : "null";
-
-            var messageDialog = new MessageDialog(message, caption);
-            messageDialog.Commands.Add(new UICommand("OK"));
-            messageDialog.DefaultCommandIndex = 0;
-            await messageDialog.ShowAsync();
-        }
-    }
-}
diff --git a/samples/Demo.Win81/Package.appxmanifest b/samples/Demo.Win81/Package.appxmanifest
deleted file mode 100644
index f20222a..0000000
--- a/samples/Demo.Win81/Package.appxmanifest
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
-  <Identity Name="600eefb2-1e33-4a01-83f7-c265f042a508" Publisher="CN=Thomas" Version="1.1.0.0" />
-  <Properties>
-    <DisplayName>Demo.Win8</DisplayName>
-    <PublisherDisplayName>Thomas Ibel</PublisherDisplayName>
-    <Logo>Assets\StoreLogo.png</Logo>
-  </Properties>
-  <Prerequisites>
-    <OSMinVersion>6.3.0</OSMinVersion>
-    <OSMaxVersionTested>6.3.0</OSMaxVersionTested>
-  </Prerequisites>
-  <Resources>
-    <Resource Language="x-generate" />
-  </Resources>
-  <Applications>
-    <Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="Demo.Win8.App">
-      <m2:VisualElements DisplayName="Demo.Win8" Description="Demo.Win8" BackgroundColor="#464646" ForegroundText="light" Square150x150Logo="Assets\Logo.png" Square30x30Logo="Assets\SmallLogo.png">
-        <m2:DefaultTile>
-          <m2:ShowNameOnTiles>
-            <m2:ShowOn Tile="square150x150Logo" />
-          </m2:ShowNameOnTiles>
-        </m2:DefaultTile>
-        <m2:SplashScreen Image="Assets\SplashScreen.png" />
-      </m2:VisualElements>
-    </Application>
-  </Applications>
-  <Capabilities>
-    <Capability Name="internetClient" />
-  </Capabilities>
-</Package>
\ No newline at end of file
diff --git a/samples/Demo.Win81/Properties/AssemblyInfo.cs b/samples/Demo.Win81/Properties/AssemblyInfo.cs
deleted file mode 100644
index 1e2c23c..0000000
--- a/samples/Demo.Win81/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,29 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Demo.Win8")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Demo.Win8")]
-[assembly: AssemblyCopyright("Copyright ©  2013")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
-[assembly: ComVisible(false)]
\ No newline at end of file
diff --git a/samples/Demo.Wpf/App.config b/samples/Demo.Wpf/App.config
deleted file mode 100644
index 8e15646..0000000
--- a/samples/Demo.Wpf/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<configuration>
-    <startup> 
-        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
-    </startup>
-</configuration>
\ No newline at end of file
diff --git a/samples/Demo.Wpf/App.xaml b/samples/Demo.Wpf/App.xaml
deleted file mode 100644
index a8d5d90..0000000
--- a/samples/Demo.Wpf/App.xaml
+++ /dev/null
@@ -1,8 +0,0 @@
-<Application x:Class="Demo.Wpf.App"
-             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-             StartupUri="MainWindow.xaml">
-    <Application.Resources>
-         
-    </Application.Resources>
-</Application>
diff --git a/samples/Demo.Wpf/App.xaml.cs b/samples/Demo.Wpf/App.xaml.cs
deleted file mode 100644
index b2731f2..0000000
--- a/samples/Demo.Wpf/App.xaml.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using System.Windows;
-
-namespace Demo.Wpf
-{
-    /// <summary>
-    /// Interaction logic for App.xaml
-    /// </summary>
-    public partial class App : Application
-    {
-    }
-}
diff --git a/samples/Demo.Wpf/Demo.Wpf.csproj b/samples/Demo.Wpf/Demo.Wpf.csproj
deleted file mode 100644
index d8094e4..0000000
--- a/samples/Demo.Wpf/Demo.Wpf.csproj
+++ /dev/null
@@ -1,114 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProjectGuid>{D29C99D6-1657-41F7-B41D-2BC0ACB48973}</ProjectGuid>
-    <OutputType>WinExe</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>Demo.Wpf</RootNamespace>
-    <AssemblyName>Demo.Wpf</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <FileAlignment>512</FileAlignment>
-    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Xml" />
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="System.Xaml">
-      <RequiredTargetFramework>4.0</RequiredTargetFramework>
-    </Reference>
-    <Reference Include="WindowsBase" />
-    <Reference Include="PresentationCore" />
-    <Reference Include="PresentationFramework" />
-  </ItemGroup>
-  <ItemGroup>
-    <ApplicationDefinition Include="App.xaml">
-      <Generator>MSBuild:Compile</Generator>
-      <SubType>Designer</SubType>
-    </ApplicationDefinition>
-    <Page Include="MainWindow.xaml">
-      <Generator>MSBuild:Compile</Generator>
-      <SubType>Designer</SubType>
-    </Page>
-    <Compile Include="App.xaml.cs">
-      <DependentUpon>App.xaml</DependentUpon>
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="MainWindow.xaml.cs">
-      <DependentUpon>MainWindow.xaml</DependentUpon>
-      <SubType>Code</SubType>
-    </Compile>
-  </ItemGroup>
-  <ItemGroup>
-    <Compile Include="Properties\AssemblyInfo.cs">
-      <SubType>Code</SubType>
-    </Compile>
-    <Compile Include="Properties\Resources.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DesignTime>True</DesignTime>
-      <DependentUpon>Resources.resx</DependentUpon>
-    </Compile>
-    <Compile Include="Properties\Settings.Designer.cs">
-      <AutoGen>True</AutoGen>
-      <DependentUpon>Settings.settings</DependentUpon>
-      <DesignTimeSharedInput>True</DesignTimeSharedInput>
-    </Compile>
-    <EmbeddedResource Include="Properties\Resources.resx">
-      <Generator>ResXFileCodeGenerator</Generator>
-      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
-    </EmbeddedResource>
-    <None Include="Properties\Settings.settings">
-      <Generator>SettingsSingleFileGenerator</Generator>
-      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
-    </None>
-    <AppDesigner Include="Properties\" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="App.config" />
-  </ItemGroup>
-  <ItemGroup>
-    <ProjectReference Include="..\..\src\Weakly\Weakly.csproj">
-      <Project>{aa37f0c0-aa8c-46de-ac8a-db844c9ac556}</Project>
-      <Name>Weakly</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\Demo.Library\Demo.Library.csproj">
-      <Project>{ece781c9-3808-46ca-a947-97b1fed9da51}</Project>
-      <Name>Demo.Library</Name>
-    </ProjectReference>
-  </ItemGroup>
-  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>
\ No newline at end of file
diff --git a/samples/Demo.Wpf/MainWindow.xaml b/samples/Demo.Wpf/MainWindow.xaml
deleted file mode 100644
index c9fa6fe..0000000
--- a/samples/Demo.Wpf/MainWindow.xaml
+++ /dev/null
@@ -1,8 +0,0 @@
-<Window x:Class="Demo.Wpf.MainWindow"
-        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
-        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-        Title="Demo WPF" Height="350" Width="525">
-    <Grid>
-        
-    </Grid>
-</Window>
diff --git a/samples/Demo.Wpf/MainWindow.xaml.cs b/samples/Demo.Wpf/MainWindow.xaml.cs
deleted file mode 100644
index 318701a..0000000
--- a/samples/Demo.Wpf/MainWindow.xaml.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System.Windows;
-
-namespace Demo.Wpf
-{
-    /// <summary>
-    /// Interaction logic for MainWindow.xaml
-    /// </summary>
-    public partial class MainWindow : Window
-    {
-        public MainWindow()
-        {
-            InitializeComponent();
-        }
-    }
-}
diff --git a/samples/Demo.Wpf/Properties/AssemblyInfo.cs b/samples/Demo.Wpf/Properties/AssemblyInfo.cs
deleted file mode 100644
index d19761d..0000000
--- a/samples/Demo.Wpf/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using System.Reflection;
-using System.Resources;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Windows;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Demo.Wpf")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Demo.Wpf")]
-[assembly: AssemblyCopyright("Copyright ©  2014")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-//In order to begin building localizable applications, set 
-//<UICulture>CultureYouAreCodingWith</UICulture> in your .csproj file
-//inside a <PropertyGroup>.  For example, if you are using US english
-//in your source files, set the <UICulture> to en-US.  Then uncomment
-//the NeutralResourceLanguage attribute below.  Update the "en-US" in
-//the line below to match the UICulture setting in the project file.
-
-//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
-
-
-[assembly: ThemeInfo(
-    ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
-    //(used if a resource is not found in the page, 
-    // or application resource dictionaries)
-    ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
-    //(used if a resource is not found in the page, 
-    // app, or any theme specific resource dictionaries)
-)]
-
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/samples/Demo.Wpf/Properties/Resources.Designer.cs b/samples/Demo.Wpf/Properties/Resources.Designer.cs
deleted file mode 100644
index 934f439..0000000
--- a/samples/Demo.Wpf/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.34209
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace Demo.Wpf.Properties
-{
-
-
-    /// <summary>
-    ///   A strongly-typed resource class, for looking up localized strings, etc.
-    /// </summary>
-    // This class was auto-generated by the StronglyTypedResourceBuilder
-    // class via a tool like ResGen or Visual Studio.
-    // To add or remove a member, edit your .ResX file then rerun ResGen
-    // with the /str option, or rebuild your VS project.
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
-    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    internal class Resources
-    {
-
-        private static global::System.Resources.ResourceManager resourceMan;
-
-        private static global::System.Globalization.CultureInfo resourceCulture;
-
-        [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
-        internal Resources()
-        {
-        }
-
-        /// <summary>
-        ///   Returns the cached ResourceManager instance used by this class.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Resources.ResourceManager ResourceManager
-        {
-            get
-            {
-                if ((resourceMan == null))
-                {
-                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Demo.Wpf.Properties.Resources", typeof(Resources).Assembly);
-                    resourceMan = temp;
-                }
-                return resourceMan;
-            }
-        }
-
-        /// <summary>
-        ///   Overrides the current thread's CurrentUICulture property for all
-        ///   resource lookups using this strongly typed resource class.
-        /// </summary>
-        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
-        internal static global::System.Globalization.CultureInfo Culture
-        {
-            get
-            {
-                return resourceCulture;
-            }
-            set
-            {
-                resourceCulture = value;
-            }
-        }
-    }
-}
diff --git a/samples/Demo.Wpf/Properties/Resources.resx b/samples/Demo.Wpf/Properties/Resources.resx
deleted file mode 100644
index af7dbeb..0000000
--- a/samples/Demo.Wpf/Properties/Resources.resx
+++ /dev/null
@@ -1,117 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<root>
-  <!-- 
-    Microsoft ResX Schema 
-    
-    Version 2.0
-    
-    The primary goals of this format is to allow a simple XML format 
-    that is mostly human readable. The generation and parsing of the 
-    various data types are done through the TypeConverter classes 
-    associated with the data types.
-    
-    Example:
-    
-    ... ado.net/XML headers & schema ...
-    <resheader name="resmimetype">text/microsoft-resx</resheader>
-    <resheader name="version">2.0</resheader>
-    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
-    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
-    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
-    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
-    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
-        <value>[base64 mime encoded serialized .NET Framework object]</value>
-    </data>
-    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
-        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
-        <comment>This is a comment</comment>
-    </data>
-                
-    There are any number of "resheader" rows that contain simple 
-    name/value pairs.
-    
-    Each data row contains a name, and value. The row also contains a 
-    type or mimetype. Type corresponds to a .NET class that support 
-    text/value conversion through the TypeConverter architecture. 
-    Classes that don't support this are serialized and stored with the 
-    mimetype set.
-    
-    The mimetype is used for serialized objects, and tells the 
-    ResXResourceReader how to depersist the object. This is currently not 
-    extensible. For a given mimetype the value must be set accordingly:
-    
-    Note - application/x-microsoft.net.object.binary.base64 is the format 
-    that the ResXResourceWriter will generate, however the reader can 
-    read any of the formats listed below.
-    
-    mimetype: application/x-microsoft.net.object.binary.base64
-    value   : The object must be serialized with 
-            : System.Serialization.Formatters.Binary.BinaryFormatter
-            : and then encoded with base64 encoding.
-    
-    mimetype: application/x-microsoft.net.object.soap.base64
-    value   : The object must be serialized with 
-            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
-            : and then encoded with base64 encoding.
-
-    mimetype: application/x-microsoft.net.object.bytearray.base64
-    value   : The object must be serialized into a byte array 
-            : using a System.ComponentModel.TypeConverter
-            : and then encoded with base64 encoding.
-    -->
-  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
-    <xsd:element name="root" msdata:IsDataSet="true">
-      <xsd:complexType>
-        <xsd:choice maxOccurs="unbounded">
-          <xsd:element name="metadata">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" />
-              <xsd:attribute name="type" type="xsd:string" />
-              <xsd:attribute name="mimetype" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="assembly">
-            <xsd:complexType>
-              <xsd:attribute name="alias" type="xsd:string" />
-              <xsd:attribute name="name" type="xsd:string" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="data">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
-              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
-              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
-            </xsd:complexType>
-          </xsd:element>
-          <xsd:element name="resheader">
-            <xsd:complexType>
-              <xsd:sequence>
-                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
-              </xsd:sequence>
-              <xsd:attribute name="name" type="xsd:string" use="required" />
-            </xsd:complexType>
-          </xsd:element>
-        </xsd:choice>
-      </xsd:complexType>
-    </xsd:element>
-  </xsd:schema>
-  <resheader name="resmimetype">
-    <value>text/microsoft-resx</value>
-  </resheader>
-  <resheader name="version">
-    <value>2.0</value>
-  </resheader>
-  <resheader name="reader">
-    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-  <resheader name="writer">
-    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
-  </resheader>
-</root>
\ No newline at end of file
diff --git a/samples/Demo.Wpf/Properties/Settings.Designer.cs b/samples/Demo.Wpf/Properties/Settings.Designer.cs
deleted file mode 100644
index 52a0ccc..0000000
--- a/samples/Demo.Wpf/Properties/Settings.Designer.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-//------------------------------------------------------------------------------
-// <auto-generated>
-//     This code was generated by a tool.
-//     Runtime Version:4.0.30319.34209
-//
-//     Changes to this file may cause incorrect behavior and will be lost if
-//     the code is regenerated.
-// </auto-generated>
-//------------------------------------------------------------------------------
-
-namespace Demo.Wpf.Properties
-{
-
-
-    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
-    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
-    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
-    {
-
-        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
-
-        public static Settings Default
-        {
-            get
-            {
-                return defaultInstance;
-            }
-        }
-    }
-}
diff --git a/samples/Demo.Wpf/Properties/Settings.settings b/samples/Demo.Wpf/Properties/Settings.settings
deleted file mode 100644
index 033d7a5..0000000
--- a/samples/Demo.Wpf/Properties/Settings.settings
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version='1.0' encoding='utf-8'?>
-<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
-  <Profiles>
-    <Profile Name="(Default)" />
-  </Profiles>
-  <Settings />
-</SettingsFile>
\ No newline at end of file
diff --git a/src/GlobalAssemblyInfo.cs b/src/GlobalAssemblyInfo.cs
index f55406b..2f7bb4a 100644
--- a/src/GlobalAssemblyInfo.cs
+++ b/src/GlobalAssemblyInfo.cs
@@ -5,12 +5,12 @@
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("https://github.com/tibel/")]
 [assembly: AssemblyProduct("Weakly")]
-[assembly: AssemblyCopyright("Copyright © Thomas Ibel 2013-2014")]
+[assembly: AssemblyCopyright("Copyright © Thomas Ibel 2013-2015")]
 [assembly: AssemblyTrademark("")]
 [assembly: AssemblyCulture("")]
 [assembly: NeutralResourcesLanguage("en")]
 
 [assembly: CLSCompliant(true)]
 
-[assembly: AssemblyVersion("2.2.0.0")]
-[assembly: AssemblyFileVersion("2.2.3.0")]
+[assembly: AssemblyVersion("2.4.0.0")]
+[assembly: AssemblyFileVersion("2.4.0.0")]
diff --git a/src/Weakly/Delegates/DynamicDelegate.cs b/src/Weakly/Delegates/DynamicDelegate.cs
deleted file mode 100644
index f1639c4..0000000
--- a/src/Weakly/Delegates/DynamicDelegate.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using System;
-using System.Reflection;
-using Weakly.Builders;
-
-namespace Weakly
-{
-    /// <summary>
-    /// Helper to create dynamic delegate functions.
-    /// </summary>
-    [Obsolete("Use Builder.DynamicDelegate")]
-    public static class DynamicDelegate
-    {
-        /// <summary>
-        /// Create a dynamic delegate from the specified method.
-        /// </summary>
-        /// <param name="method">The method.</param>
-        /// <returns>The dynamic delegate.</returns>
-        public static Func<object, object[], object> From(MethodInfo method)
-        {
-            return Builder.DynamicDelegate.BuildDynamic(method);
-        }
-    }
-}
diff --git a/src/Weakly/Delegates/DynamicEvent.cs b/src/Weakly/Delegates/DynamicEvent.cs
deleted file mode 100644
index 7474f99..0000000
--- a/src/Weakly/Delegates/DynamicEvent.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using System;
-using System.Reflection;
-
-namespace Weakly
-{
-    /// <summary>
-    /// Helper methods to register or unregister an event handler using reflection.
-    /// </summary>
-    [Obsolete]
-    public static class DynamicEvent
-    {
-        /// <summary>
-        /// Gets the method that adds an event handler to an event source.
-        /// </summary>
-        /// <param name="eventInfo">The event information.</param>
-        /// <returns>The method used to add an event handler delegate to the event source.</returns>
-        public static Action<object, Delegate> GetAddMethod(EventInfo eventInfo)
-        {
-            return eventInfo.AddEventHandler;
-        }
-
-        /// <summary>
-        /// Gets the method that removes an event handler from an event source.
-        /// </summary>
-        /// <param name="eventInfo">The event information.</param>
-        /// <returns>The method used to remove an event handler delegate from the event source.</returns>
-        public static Action<object, Delegate> GetRemoveMethod(EventInfo eventInfo)
-        {
-            return eventInfo.RemoveEventHandler;
-        }
-    }
-}
diff --git a/src/Weakly/Delegates/DynamicProperty.cs b/src/Weakly/Delegates/DynamicProperty.cs
deleted file mode 100644
index 009a916..0000000
--- a/src/Weakly/Delegates/DynamicProperty.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using System;
-using System.Reflection;
-using Weakly.Builders;
-
-namespace Weakly
-{
-    /// <summary>
-    /// Helper to create dynamic (complied) property accessors.
-    /// </summary>
-    [Obsolete("Use Builder.PropertyAccessor")]
-    public static class DynamicProperty
-    {
-        /// <summary>
-        /// Get compiled Getter function from a given <paramref name="property"/>.
-        /// </summary>
-        /// <param name="property">The property.</param>
-        /// <returns>The function to get the property value.</returns>
-        public static Func<object, object> GetterFrom(PropertyInfo property)
-        {
-            return Builder.PropertyAccessor.BuildGetter(property);
-        }
-
-        /// <summary>
-        /// Get compiled Setter function from a given <paramref name="property"/>.
-        /// </summary>
-        /// <param name="property">The property.</param>
-        /// <returns>The function to set the property value.</returns>
-        public static Action<object, object> SetterFrom(PropertyInfo property)
-        {
-            return Builder.PropertyAccessor.BuildSetter(property);
-        }
-    }
-}
diff --git a/src/Weakly/Delegates/OpenAction.cs b/src/Weakly/Delegates/OpenAction.cs
deleted file mode 100644
index cef827b..0000000
--- a/src/Weakly/Delegates/OpenAction.cs
+++ /dev/null
@@ -1,88 +0,0 @@
-using System;
-using System.Reflection;
-using Weakly.Builders;
-
-namespace Weakly
-{
-    /// <summary>
-    /// Helper to create open delegate actions.
-    /// </summary>
-    [Obsolete("Use Builder.OpenAction")]
-    public static class OpenAction
-    {
-        /// <summary>
-        /// Create an open delegate from the specified method.
-        /// </summary>
-        /// <param name="method">The method.</param>
-        /// <returns>The open delegate.</returns>
-        public static Action<object> From(MethodInfo method)
-        {
-            return Builder.OpenAction.BuildAction(method);
-        }
-
-        /// <summary>
-        /// Create an open delegate from the specified method.
-        /// </summary>
-        /// <typeparam name="T">The type of the parameter of the method that this delegate encapsulates.</typeparam>
-        /// <param name="method">The method.</param>
-        /// <returns>The open delegate.</returns>
-        public static Action<object, T> From<T>(MethodInfo method)
-        {
-            return Builder.OpenAction.BuildAction<T>(method);
-        }
-
-        /// <summary>
-        /// Create an open delegate from the specified method.
-        /// </summary>
-        /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-        /// <param name="method">The method.</param>
-        /// <returns>The open delegate.</returns>
-        public static Action<object, T1, T2> From<T1, T2>(MethodInfo method)
-        {
-            return Builder.OpenAction.BuildAction<T1, T2>(method);
-        }
-
-        /// <summary>
-        /// Create an open delegate from the specified method.
-        /// </summary>
-        /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
-        /// <param name="method">The method.</param>
-        /// <returns>The open delegate.</returns>
-        public static Action<object, T1, T2, T3> From<T1, T2, T3>(MethodInfo method)
-        {
-            return Builder.OpenAction.BuildAction<T1, T2, T3>(method);
-        }
-
-        /// <summary>
-        /// Create an open delegate from the specified method.
-        /// </summary>
-        /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
-        /// <param name="method">The method.</param>
-        /// <returns>The open delegate.</returns>
-        public static Action<object, T1, T2, T3, T4> From<T1, T2, T3, T4>(MethodInfo method)
-        {
-            return Builder.OpenAction.BuildAction<T1, T2, T3, T4>(method);
-        }
-
-        /// <summary>
-        /// Create an open delegate from the specified method.
-        /// </summary>
-        /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
-        /// <param name="method">The method.</param>
-        /// <returns>The open delegate.</returns>
-        public static Action<object, T1, T2, T3, T4, T5> From<T1, T2, T3, T4, T5>(MethodInfo method)
-        {
-            return Builder.OpenAction.BuildAction<T1, T2, T3, T4, T5>(method);
-        }
-    }
-}
diff --git a/src/Weakly/Delegates/OpenFunc.cs b/src/Weakly/Delegates/OpenFunc.cs
deleted file mode 100644
index 5d82fc9..0000000
--- a/src/Weakly/Delegates/OpenFunc.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-using System;
-using System.Reflection;
-using Weakly.Builders;
-
-namespace Weakly
-{
-    /// <summary>
-    /// Helper to create open delegate functions.
-    /// </summary>
-    [Obsolete("Use Builder.OpenFunc")]
-    public static class OpenFunc
-    {
-        /// <summary>
-        /// Create an open delegate from the specified method.
-        /// </summary>
-        /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
-        /// <param name="method">The method.</param>
-        /// <returns>The open delegate.</returns>
-        public static Func<object, TResult> From<TResult>(MethodInfo method)
-        {
-            return Builder.OpenFunc.BuildFunc<TResult>(method);
-        }
-
-        /// <summary>
-        /// Create an open delegate from the specified method.
-        /// </summary>
-        /// <typeparam name="T">The type of the parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
-        /// <param name="method">The method.</param>
-        /// <returns>The open delegate.</returns>
-        public static Func<object, T, TResult> From<T, TResult>(MethodInfo method)
-        {
-            return Builder.OpenFunc.BuildFunc<T, TResult>(method);
-        }
-
-        /// <summary>
-        /// Create an open delegate from the specified method.
-        /// </summary>
-        /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
-        /// <param name="method">The method.</param>
-        /// <returns>The open delegate.</returns>
-        public static Func<object, T1, T2, TResult> From<T1, T2, TResult>(MethodInfo method)
-        {
-            return Builder.OpenFunc.BuildFunc<T1, T2, TResult>(method);
-        }
-
-        /// <summary>
-        /// Create an open delegate from the specified method.
-        /// </summary>
-        /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
-        /// <param name="method">The method.</param>
-        /// <returns>The open delegate</returns>
-        public static Func<object, T1, T2, T3, TResult> From<T1, T2, T3, TResult>(MethodInfo method)
-        {
-            return Builder.OpenFunc.BuildFunc<T1, T2, T3, TResult>(method);
-        }
-
-        /// <summary>
-        /// Create an open delegate from the specified method.
-        /// </summary>
-        /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
-        /// <param name="method">The method.</param>
-        /// <returns>The open delegate</returns>
-        public static Func<object, T1, T2, T3, T4, TResult> From<T1, T2, T3, T4, TResult>(MethodInfo method)
-        {
-            return Builder.OpenFunc.BuildFunc<T1, T2, T3, T4, TResult>(method);
-        }
-
-        /// <summary>
-        /// Create an open delegate from the specified method.
-        /// </summary>
-        /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
-        /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
-        /// <param name="method">The method.</param>
-        /// <returns>The open delegate</returns>
-        public static Func<object, T1, T2, T3, T4, T5, TResult> From<T1, T2, T3, T4, T5, TResult>(MethodInfo method)
-        {
-            return Builder.OpenFunc.BuildFunc<T1, T2, T3, T4, T5, TResult>(method);
-        }
-    }
-}
diff --git a/src/Weakly/Delegates/WeakAction.cs b/src/Weakly/Delegates/WeakAction.cs
index d4e989d..cdb1cf2 100644
--- a/src/Weakly/Delegates/WeakAction.cs
+++ b/src/Weakly/Delegates/WeakAction.cs
@@ -1,31 +1,26 @@
 using System;
-using System.Reflection;
-using Weakly.Builders;
 
 namespace Weakly
 {
     /// <summary>
     /// Weak version of <see cref="Action"/> delegate.
     /// </summary>
-    public sealed class WeakAction : WeakDelegate
+    /// <typeparam name="TTarget">The type of the referenced action target.</typeparam>
+    public sealed class WeakAction<TTarget>
+        where TTarget : class
     {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakAction"/> class.
-        /// </summary>
-        /// <param name="action">The action delegate to encapsulate.</param>
-        public WeakAction(Action action)
-            : this(action.Target, action.GetMethodInfo())
-        {
-        }
+        private readonly WeakReference<TTarget> _target;
+        private readonly Action<TTarget> _weakAction;
 
         /// <summary>
-        /// Initializes a new instance of the <see cref="WeakAction"/> class.
+        /// Initializes a new instance of the <see cref="WeakAction&lt;TTarget&gt;"/> class.
         /// </summary>
         /// <param name="target">The class instance on which the current delegate invokes the instance method.</param>
-        /// <param name="method">The method represented by the delegate.</param>
-        public WeakAction(object target, MethodInfo method)
-            : base(target, method)
+        /// <param name="weakAction">The method represented by the delegate.</param>
+        public WeakAction(TTarget target, Action<TTarget> weakAction)
         {
+            _target = new WeakReference<TTarget>(target);
+            _weakAction = weakAction;
         }
 
         /// <summary>
@@ -33,214 +28,11 @@ public WeakAction(object target, MethodInfo method)
         /// </summary>
         public void Invoke()
         {
-            var target = Target;
-            if (target != null)
-                Builder.OpenAction.BuildAction(Method)(target);
-        }
-    }
-
-    /// <summary>
-    /// Weak version of <see cref="Action&lt;T&gt;"/> delegate.
-    /// </summary>
-    /// <typeparam name="T">The parameter of the method that this delegate encapsulates.</typeparam>
-    public sealed class WeakAction<T> : WeakDelegate
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakAction&lt;T&gt;"/> class.
-        /// </summary>
-        /// <param name="action">The action delegate to encapsulate.</param>
-        public WeakAction(Action<T> action)
-            : this(action.Target, action.GetMethodInfo())
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakAction&lt;T&gt;"/> class.
-        /// </summary>
-        /// <param name="target">The class instance on which the current delegate invokes the instance method.</param>
-        /// <param name="method">The method represented by the delegate.</param>
-        public WeakAction(object target, MethodInfo method)
-            : base(target, method)
-        {
-        }
-
-        /// <summary>
-        /// Invokes the method represented by the current weak delegate.
-        /// </summary>
-        /// <param name="obj">The parameter of the method that this delegate encapsulates.</param>
-        public void Invoke(T obj)
-        {
-            var target = Target;
-            if (target != null)
-                Builder.OpenAction.BuildAction<T>(Method)(target, obj);
-        }
-    }
-
-    /// <summary>
-    /// Weak version of <see cref="Action&lt;T1, T2&gt;"/> delegate.
-    /// </summary>
-    /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-    public sealed class WeakAction<T1, T2> : WeakDelegate
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakAction&lt;T1, T2&gt;"/> class.
-        /// </summary>
-        /// <param name="action">The action delegate to encapsulate.</param>
-        public WeakAction(Action<T1, T2> action)
-            : this(action.Target, action.GetMethodInfo())
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakAction&lt;T1, T2&gt;"/> class.
-        /// </summary>
-        /// <param name="target">The class instance on which the current delegate invokes the instance method.</param>
-        /// <param name="method">The method represented by the delegate.</param>
-        public WeakAction(object target, MethodInfo method)
-            : base(target, method)
-        {
-        }
-
-        /// <summary>
-        /// Invokes the method represented by the current weak delegate.
-        /// </summary>
-        /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
-        public void Invoke(T1 arg1, T2 arg2)
-        {
-            var target = Target;
-            if (target != null)
-                Builder.OpenAction.BuildAction<T1, T2>(Method)(target, arg1, arg2);
-        }
-    }
-
-    /// <summary>
-    /// Weak version of <see cref="Action&lt;T1, T2, T3&gt;"/> delegate.
-    /// </summary>
-    /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
-    public sealed class WeakAction<T1, T2, T3> : WeakDelegate
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakAction&lt;T1, T2, T3&gt;"/> class.
-        /// </summary>
-        /// <param name="action">The action delegate to encapsulate.</param>
-        public WeakAction(Action<T1, T2, T3> action)
-            : this(action.Target, action.GetMethodInfo())
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakAction&lt;T1, T2, T3&gt;"/> class.
-        /// </summary>
-        /// <param name="target">The class instance on which the current delegate invokes the instance method.</param>
-        /// <param name="method">The method represented by the delegate.</param>
-        public WeakAction(object target, MethodInfo method)
-            : base(target, method)
-        {
-        }
-
-        /// <summary>
-        /// Invokes the method represented by the current weak delegate.
-        /// </summary>
-        /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
-        public void Invoke(T1 arg1, T2 arg2, T3 arg3)
-        {
-            var target = Target;
-            if (target != null)
-                Builder.OpenAction.BuildAction<T1, T2, T3>(Method)(target, arg1, arg2, arg3);
-        }
-    }
-
-    /// <summary>
-    /// Weak version of <see cref="Action&lt;T1, T2, T3, T4&gt;"/> delegate.
-    /// </summary>
-    /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
-    public sealed class WeakAction<T1, T2, T3, T4> : WeakDelegate
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakAction&lt;T1, T2, T3, T4&gt;"/> class.
-        /// </summary>
-        /// <param name="action">The action delegate to encapsulate.</param>
-        public WeakAction(Action<T1, T2, T3, T4> action)
-            : this(action.Target, action.GetMethodInfo())
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakAction&lt;T1, T2, T3, T4&gt;"/> class.
-        /// </summary>
-        /// <param name="target">The class instance on which the current delegate invokes the instance method.</param>
-        /// <param name="method">The method represented by the delegate.</param>
-        public WeakAction(object target, MethodInfo method)
-            : base(target, method)
-        {
-        }
-
-        /// <summary>
-        /// Invokes the method represented by the current weak delegate.
-        /// </summary>
-        /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
-        public void Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4)
-        {
-            var target = Target;
-            if (target != null)
-                Builder.OpenAction.BuildAction<T1, T2, T3, T4>(Method)(target, arg1, arg2, arg3, arg4);
-        }
-    }
-
-    /// <summary>
-    /// Weak version of <see cref="Action&lt;T1, T2, T3, T4, T5&gt;"/> delegate.
-    /// </summary>
-    /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
-    public sealed class WeakAction<T1, T2, T3, T4, T5> : WeakDelegate
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakAction&lt;T1, T2, T3, T4, T5&gt;"/> class.
-        /// </summary>
-        /// <param name="action">The action delegate to encapsulate.</param>
-        public WeakAction(Action<T1, T2, T3, T4, T5> action)
-            : this(action.Target, action.GetMethodInfo())
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakAction&lt;T1, T2, T3, T4, T5&gt;"/> class.
-        /// </summary>
-        /// <param name="target">The class instance on which the current delegate invokes the instance method.</param>
-        /// <param name="method">The method represented by the delegate.</param>
-        public WeakAction(object target, MethodInfo method)
-            : base(target, method)
-        {
-        }
-
-        /// <summary>
-        /// Invokes the method represented by the current weak delegate.
-        /// </summary>
-        /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
-        public void Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
-        {
-            var target = Target;
-            if (target != null)
-                Builder.OpenAction.BuildAction<T1, T2, T3, T4, T5>(Method)(target, arg1, arg2, arg3, arg4, arg5);
+            TTarget target;
+            if (_target.TryGetTarget(out target))
+            {
+                _weakAction(target);
+            }
         }
     }
 }
diff --git a/src/Weakly/Delegates/WeakDelegate.cs b/src/Weakly/Delegates/WeakDelegate.cs
deleted file mode 100644
index b546bee..0000000
--- a/src/Weakly/Delegates/WeakDelegate.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-using System;
-using System.Reflection;
-
-namespace Weakly
-{
-    /// <summary>
-    /// Base class for all weak delegates.
-    /// </summary>
-    public abstract class WeakDelegate
-    {
-        private readonly WeakReference _instance;
-        private readonly MethodInfo _method;
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakDelegate"/> class.
-        /// </summary>
-        /// <param name="target">The class instance on which the current delegate invokes the instance method.</param>
-        /// <param name="method">The method represented by the delegate.</param>
-        protected WeakDelegate(object target, MethodInfo method)
-        {
-            _instance = new WeakReference(target);
-            _method = method;
-        }
-
-        /// <summary>
-        /// Gets an indication whether the object referenced by the current <see cref="WeakDelegate"/> object has been garbage collected.
-        /// </summary>
-        public bool IsAlive
-        {
-            get { return _instance.IsAlive; }
-        }
-
-        /// <summary>
-        /// Gets the class instance on which the current <see cref="WeakDelegate"/> invokes the instance method.
-        /// </summary>
-        public object Target
-        {
-            get { return _instance.Target; }
-        }
-
-        /// <summary>
-        /// Gets the method represented by this delegate.
-        /// </summary>
-        public MethodInfo Method
-        {
-            get { return _method; }
-        }
-    }
-}
diff --git a/src/Weakly/Delegates/WeakFunc.cs b/src/Weakly/Delegates/WeakFunc.cs
index f3dbdaa..c307819 100644
--- a/src/Weakly/Delegates/WeakFunc.cs
+++ b/src/Weakly/Delegates/WeakFunc.cs
@@ -1,32 +1,27 @@
-using System;
-using System.Reflection;
-using Weakly.Builders;
+using System;
 
 namespace Weakly
 {
     /// <summary>
     /// Weak version of <see cref="Func&lt;TResult&gt;"/> delegate.
     /// </summary>
+    /// <typeparam name="TTarget">The type of the referenced function target.</typeparam>
     /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
-    public sealed class WeakFunc<TResult> : WeakDelegate
+    public sealed class WeakFunc<TTarget, TResult>
+        where TTarget : class
     {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakFunc&lt;TResult&gt;"/> class.
-        /// </summary>
-        /// <param name="function">The function delegate to encapsulate.</param>
-        public WeakFunc(Func<TResult> function)
-            : this(function.Target, function.GetMethodInfo())
-        {
-        }
+        private readonly WeakReference<TTarget> _target;
+        private readonly Func<TTarget, TResult> _weakFunc;
 
         /// <summary>
-        /// Initializes a new instance of the <see cref="WeakFunc&lt;TResult&gt;"/> class.
+        /// Initializes a new instance of the <see cref="WeakFunc&lt;TTarget, TResult&gt;"/> class.
         /// </summary>
         /// <param name="target">The class instance on which the current delegate invokes the instance method.</param>
-        /// <param name="method">The method represented by the delegate.</param>
-        public WeakFunc(object target, MethodInfo method)
-            : base(target, method)
+        /// <param name="weakFunc">The method represented by the delegate.</param>
+        public WeakFunc(TTarget target, Func<TTarget, TResult> weakFunc)
         {
+            _target = new WeakReference<TTarget>(target);
+            _weakFunc = weakFunc;
         }
 
         /// <summary>
@@ -35,229 +30,12 @@ public WeakFunc(object target, MethodInfo method)
         /// <returns>The return value of the method that this delegate encapsulates.</returns>
         public TResult Invoke()
         {
-            var target = Target;
-            if (target != null)
-                return Builder.OpenFunc.BuildFunc<TResult>(Method)(target);
-            return default(TResult);
-        }
-    }
-
-    /// <summary>
-    /// Weak version of <see cref="Func&lt;T, TResult&gt;"/> delegate.
-    /// </summary>
-    /// <typeparam name="T">The type of the parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
-    public sealed class WeakFunc<T, TResult> : WeakDelegate
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakFunc&lt;T, TResult&gt;"/> class.
-        /// </summary>
-        /// <param name="function">The function delegate to encapsulate.</param>
-        public WeakFunc(Func<T, TResult> function)
-            : this(function.Target, function.GetMethodInfo())
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakFunc&lt;T, TResult&gt;"/> class.
-        /// </summary>
-        /// <param name="target">The class instance on which the current delegate invokes the instance method.</param>
-        /// <param name="method">The method represented by the delegate.</param>
-        public WeakFunc(object target, MethodInfo method)
-            : base(target, method)
-        {
-        }
-
-        /// <summary>
-        /// Invokes the method represented by the current weak delegate.
-        /// </summary>
-        /// <param name="obj">The parameter of the method that this delegate encapsulates.</param>
-        /// <returns>The return value of the method that this delegate encapsulates.</returns>
-        public TResult Invoke(T obj)
-        {
-            var target = Target;
-            if (target != null)
-                return Builder.OpenFunc.BuildFunc<T, TResult>(Method)(target, obj);
-            return default(TResult);
-        }
-    }
-
-    /// <summary>
-    /// Weak version of <see cref="Func&lt;T1, T2, TResult&gt;"/> delegate.
-    /// </summary>
-    /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
-    public sealed class WeakFunc<T1, T2, TResult> : WeakDelegate
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakFunc&lt;T1, T2, TResult&gt;"/> class.
-        /// </summary>
-        /// <param name="function">The function delegate to encapsulate.</param>
-        public WeakFunc(Func<T1, T2, TResult> function)
-            : this(function.Target, function.GetMethodInfo())
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakFunc&lt;T1, T2, TResult&gt;"/> class.
-        /// </summary>
-        /// <param name="target">The class instance on which the current delegate invokes the instance method.</param>
-        /// <param name="method">The method represented by the delegate.</param>
-        public WeakFunc(object target, MethodInfo method)
-            : base(target, method)
-        {
-        }
+            TTarget target;
+            if (_target.TryGetTarget(out target))
+            {
+                return _weakFunc(target);
+            }
 
-        /// <summary>
-        /// Invokes the method represented by the current weak delegate.
-        /// </summary>
-        /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
-        /// <returns>The return value of the method that this delegate encapsulates.</returns>
-        public TResult Invoke(T1 arg1, T2 arg2)
-        {
-            var target = Target;
-            if (target != null)
-                return Builder.OpenFunc.BuildFunc<T1, T2, TResult>(Method)(target, arg1, arg2);
-            return default(TResult);
-        }
-    }
-
-    /// <summary>
-    /// Weak version of <see cref="Func&lt;T1, T2, T3, TResult&gt;"/> delegate.
-    /// </summary>
-    /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
-    public sealed class WeakFunc<T1, T2, T3, TResult> : WeakDelegate
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakFunc&lt;T1, T2, T3, TResult&gt;"/> class.
-        /// </summary>
-        /// <param name="function">The function delegate to encapsulate.</param>
-        public WeakFunc(Func<T1, T2, T3, TResult> function)
-            : this(function.Target, function.GetMethodInfo())
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakFunc&lt;T1, T2, T3, TResult&gt;"/> class.
-        /// </summary>
-        /// <param name="target">The class instance on which the current delegate invokes the instance method.</param>
-        /// <param name="method">The method represented by the delegate.</param>
-        public WeakFunc(object target, MethodInfo method)
-            : base(target, method)
-        {
-        }
-
-        /// <summary>
-        /// Invokes the method represented by the current weak delegate.
-        /// </summary>
-        /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
-        /// <returns>The return value of the method that this delegate encapsulates.</returns>
-        public TResult Invoke(T1 arg1, T2 arg2, T3 arg3)
-        {
-            var target = Target;
-            if (target != null)
-                return Builder.OpenFunc.BuildFunc<T1, T2, T3, TResult>(Method)(target, arg1, arg2, arg3);
-            return default(TResult);
-        }
-    }
-
-    /// <summary>
-    /// Weak version of <see cref="Func&lt;T1, T2, T3, T4, TResult&gt;"/> delegate.
-    /// </summary>
-    /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
-    public sealed class WeakFunc<T1, T2, T3, T4, TResult> : WeakDelegate
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakFunc&lt;T1, T2, T3, T4, TResult&gt;"/> class.
-        /// </summary>
-        /// <param name="function">The function delegate to encapsulate.</param>
-        public WeakFunc(Func<T1, T2, T3, T4, TResult> function)
-            : this(function.Target, function.GetMethodInfo())
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakFunc&lt;T1, T2, T3, T4, TResult&gt;"/> class.
-        /// </summary>
-        /// <param name="target">The class instance on which the current delegate invokes the instance method.</param>
-        /// <param name="method">The method represented by the delegate.</param>
-        public WeakFunc(object target, MethodInfo method)
-            : base(target, method)
-        {
-        }
-
-        /// <summary>
-        /// Invokes the method represented by the current weak delegate.
-        /// </summary>
-        /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
-        /// <returns>The return value of the method that this delegate encapsulates.</returns>
-        public TResult Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4)
-        {
-            var target = Target;
-            if (target != null)
-                return Builder.OpenFunc.BuildFunc<T1, T2, T3, T4, TResult>(Method)(target, arg1, arg2, arg3, arg4);
-            return default(TResult);
-        }
-    }
-
-    /// <summary>
-    /// Weak version of <see cref="Func&lt;T1, T2, T3, T4, T5, TResult&gt;"/> delegate.
-    /// </summary>
-    /// <typeparam name="T1">The type of the first parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T2">The type of the second parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T3">The type of the third parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T4">The type of the fourth parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="T5">The type of the fifth parameter of the method that this delegate encapsulates.</typeparam>
-    /// <typeparam name="TResult">The type of the return value of the method that this delegate encapsulates.</typeparam>
-    public sealed class WeakFunc<T1, T2, T3, T4, T5, TResult> : WeakDelegate
-    {
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakFunc&lt;T1, T2, T3, T4, T5, TResult&gt;"/> class.
-        /// </summary>
-        /// <param name="function">The function delegate to encapsulate.</param>
-        public WeakFunc(Func<T1, T2, T3, T4, T5, TResult> function)
-            : this(function.Target, function.GetMethodInfo())
-        {
-        }
-
-        /// <summary>
-        /// Initializes a new instance of the <see cref="WeakFunc&lt;T1, T2, T3, T4, T5, TResult&gt;"/> class.
-        /// </summary>
-        /// <param name="target">The class instance on which the current delegate invokes the instance method.</param>
-        /// <param name="method">The method represented by the delegate.</param>
-        public WeakFunc(object target, MethodInfo method)
-            : base(target, method)
-        {
-        }
-
-        /// <summary>
-        /// Invokes the method represented by the current weak delegate.
-        /// </summary>
-        /// <param name="arg1">The first parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg2">The second parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg3">The third parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg4">The fourth parameter of the method that this delegate encapsulates.</param>
-        /// <param name="arg5">The fifth parameter of the method that this delegate encapsulates.</param>
-        /// <returns>The return value of the method that this delegate encapsulates.</returns>
-        public TResult Invoke(T1 arg1, T2 arg2, T3 arg3, T4 arg4, T5 arg5)
-        {
-            var target = Target;
-            if (target != null)
-                return Builder.OpenFunc.BuildFunc<T1, T2, T3, T4, T5, TResult>(Method)(target, arg1, arg2, arg3, arg4, arg5);
             return default(TResult);
         }
     }
diff --git a/src/Weakly/Events/IWeakEventHandler.cs b/src/Weakly/Events/IWeakEventHandler.cs
new file mode 100644
index 0000000..051cdfc
--- /dev/null
+++ b/src/Weakly/Events/IWeakEventHandler.cs
@@ -0,0 +1,10 @@
+
+namespace Weakly
+{
+    /// <summary>
+    /// Marker interface for weak event handlers.
+    /// </summary>
+    internal interface IWeakEventHandler
+    {
+    }
+}
diff --git a/src/Weakly/Events/WeakCanExecuteChangedHandler.cs b/src/Weakly/Events/WeakCanExecuteChangedHandler.cs
new file mode 100644
index 0000000..1a8d6df
--- /dev/null
+++ b/src/Weakly/Events/WeakCanExecuteChangedHandler.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Windows.Input;
+
+namespace Weakly
+{
+    internal sealed class WeakCanExecuteChangedHandler<TSubscriber> :
+        WeakEventHandlerBase<ICommand, TSubscriber, EventArgs>
+        where TSubscriber : class
+    {
+        public WeakCanExecuteChangedHandler(ICommand source, TSubscriber subscriber,
+            Action<TSubscriber, object, EventArgs> weakHandler)
+            : base(source, subscriber, weakHandler)
+        {
+            source.CanExecuteChanged += OnEvent;
+        }
+
+        protected override void RemoveEventHandler(ICommand source)
+        {
+            source.CanExecuteChanged -= OnEvent;
+        }
+    }
+}
diff --git a/src/Weakly/Events/WeakEventHandler.cs b/src/Weakly/Events/WeakEventHandler.cs
index 7259e97..4d9534a 100644
--- a/src/Weakly/Events/WeakEventHandler.cs
+++ b/src/Weakly/Events/WeakEventHandler.cs
@@ -1,130 +1,42 @@
 using System;
-using System.Reflection;
+using System.ComponentModel;
+using System.Windows.Input;
 
 namespace Weakly
 {
     /// <summary>
-    /// A weak event handler using reflection to register and unregister.
+    /// Helper to register weak event handlers.
     /// </summary>
     public static class WeakEventHandler
     {
         /// <summary>
-        /// Registers for the specified event without holding a strong reference to the <paramref name="handler"/>.
+        /// Registers a weak handler to <see cref="INotifyPropertyChanged.PropertyChanged"/>.
         /// </summary>
-        /// <typeparam name="TEventArgs">The type of the event arguments.</typeparam>
-        /// <param name="eventSource">The event source.</param>
-        /// <param name="eventName">The event name.</param>
-        /// <param name="handler">The handler to register.</param>
+        /// <typeparam name="TSubscriber">The type of the event subscriber.</typeparam>
+        /// <param name="source">The event source.</param>
+        /// <param name="subscriber">The event subscriber.</param>
+        /// <param name="weakHandler">The weak handler.</param>
         /// <returns>A registration object that can be used to deregister from the event.</returns>
-        public static IDisposable Register<TEventArgs>(object eventSource, string eventName, Action<object, TEventArgs> handler)
+        public static IDisposable RegisterPropertyChangedWeak<TSubscriber>(this INotifyPropertyChanged source,
+            TSubscriber subscriber, Action<TSubscriber, object, PropertyChangedEventArgs> weakHandler)
+            where TSubscriber : class
         {
-            if (eventSource == null)
-                throw new ArgumentNullException("eventSource");
-            if (string.IsNullOrEmpty(eventName))
-                throw new ArgumentNullException("eventName");
-
-            var eventInfo = eventSource.GetType().GetRuntimeEvent(eventName);
-            return Register(eventSource, eventInfo, handler);
-        }
-
-        /// <summary>
-        /// Registers for the specified static event without holding a strong reference to the <paramref name="handler"/>.
-        /// </summary>
-        /// <typeparam name="TEventArgs">The type of the event arguments.</typeparam>
-        /// <param name="sourceType">The event source type.</param>
-        /// <param name="eventName">The event name.</param>
-        /// <param name="handler">The handler to register.</param>
-        /// <returns>A registration object that can be used to deregister from the event.</returns>
-        public static IDisposable Register<TEventArgs>(Type sourceType, string eventName, Action<object, TEventArgs> handler)
-        {
-            if (sourceType == null)
-                throw new ArgumentNullException("sourceType");
-            if (string.IsNullOrEmpty(eventName))
-                throw new ArgumentNullException("eventName");
-
-            var eventInfo = sourceType.GetRuntimeEvent(eventName);
-            return Register(null, eventInfo, handler);
+            return new WeakNotifyPropertyChangedHandler<TSubscriber>(source, subscriber, weakHandler);
         }
 
         /// <summary>
-        /// Registers for the specified event without holding a strong reference to the <paramref name="handler"/>.
+        /// Registers a weak event handler to <see cref="ICommand.CanExecuteChanged"/>.
         /// </summary>
-        /// <typeparam name="TEventArgs">The type of the event arguments.</typeparam>
-        /// <param name="eventSource">The event source.</param>
-        /// <param name="eventInfo">The event information.</param>
-        /// <param name="handler">The handler to register.</param>
+        /// <typeparam name="TSubscriber">The type of the event subscriber.</typeparam>
+        /// <param name="source">The event source.</param>
+        /// <param name="subscriber">The event subscriber.</param>
+        /// <param name="weakHandler">The weak handler.</param>
         /// <returns>A registration object that can be used to deregister from the event.</returns>
-        public static IDisposable Register<TEventArgs>(object eventSource, EventInfo eventInfo, Action<object, TEventArgs> handler)
+        public static IDisposable RegisterCanExecuteChangedWeak<TSubscriber>(this ICommand source,
+            TSubscriber subscriber, Action<TSubscriber, object, EventArgs> weakHandler)
+            where TSubscriber : class
         {
-            if (eventInfo == null)
-                throw new ArgumentNullException("eventInfo");
-            if (handler == null)
-                throw new ArgumentNullException("handler");
-            if (handler.Target == null)
-                throw new ArgumentException("Handler delegate must point to instance method.", "handler");
-
-            if (eventInfo.EventHandlerType.IsWindowsRuntimeType())
-                throw new ArgumentException("Windows Runtime events are not supported.", "eventInfo");
-
-            var isStatic = eventInfo.AddMethod.IsStatic;
-            if (!isStatic && eventSource == null)
-                throw new ArgumentNullException("eventSource");
-            if (isStatic && eventSource != null)
-                throw new ArgumentException("Event source for static event has to be null.", "eventSource");
-
-            return new WeakEventHandlerImpl<TEventArgs>(eventSource, eventInfo, handler);
+            return new WeakCanExecuteChangedHandler<TSubscriber>(source, subscriber, weakHandler);
         }
-
-        #region Inner Types
-
-        private sealed class WeakEventHandlerImpl<TEventArgs> : IDisposable
-        {
-            private readonly WeakReference _source;
-            private readonly EventInfo _eventInfo;
-            private readonly WeakAction<object, TEventArgs> _handler;
-            private readonly Delegate _eventHandler;
-            private bool _disposed;
-
-            public WeakEventHandlerImpl(object eventSource, EventInfo eventInfo, Action<object, TEventArgs> handler)
-            {
-                if (eventSource != null)
-                    _source = new WeakReference(eventSource);
-
-                _eventInfo = eventInfo;
-                _handler = new WeakAction<object, TEventArgs>(handler);
-                
-                // create correct delegate type
-                _eventHandler = new Action<object, TEventArgs>(Invoke)
-                    .GetMethodInfo()
-                    .CreateDelegate(eventInfo.EventHandlerType, this);
-
-                // register weak handler
-                _eventInfo.AddEventHandler(eventSource, _eventHandler);
-            }
-
-            private void Invoke(object sender, TEventArgs args)
-            {
-                if (_handler.IsAlive)
-                    _handler.Invoke(sender, args);
-                else
-                    Dispose();
-            }
-
-            public void Dispose()
-            {
-                if (_disposed)
-                    return;
-
-                var isStatic = (_source == null);
-                var eventSource = !isStatic ? _source.Target : null;
-                if (!isStatic && eventSource == null)
-                    return;
-
-                _eventInfo.RemoveEventHandler(eventSource, _eventHandler);
-                _disposed = true;
-            }
-        }
-
-        #endregion
     }
 }
diff --git a/src/Weakly/Events/WeakEventHandlerBase.cs b/src/Weakly/Events/WeakEventHandlerBase.cs
new file mode 100644
index 0000000..255f468
--- /dev/null
+++ b/src/Weakly/Events/WeakEventHandlerBase.cs
@@ -0,0 +1,146 @@
+using System;
+using System.Reflection;
+
+namespace Weakly
+{
+    /// <summary>
+    /// Base class for weak event handler.
+    /// </summary>
+    /// <typeparam name="TSubscriber">The type of the event subscriber.</typeparam>
+    /// <typeparam name="TEventArgs">The type of the event arguments.</typeparam>
+    public abstract class WeakEventHandlerBase<TSubscriber, TEventArgs> : IWeakEventHandler
+        where TSubscriber : class
+    {
+        private readonly WeakReference<TSubscriber> _subscriber;
+        private readonly Action<TSubscriber, object, TEventArgs> _weakHandler;
+
+        /// <summary>
+        /// Initializes a new instance of the <see cref="WeakEventHandlerBase&lt;TSubscriber, TEventArgs&gt;"/> class.
+        /// </summary>
+        /// <param name="subscriber">The event subscriber.</param>
+        /// <param name="weakHandler">The weak handler.</param>
+        protected WeakEventHandlerBase(TSubscriber subscriber, Action<TSubscriber, object, TEventArgs> weakHandler)
+        {
+            if (subscriber == null)
+                throw new ArgumentNullException("subscriber");
+            if (weakHandler == null)
+                throw new ArgumentNullException("weakHandler");
+            if (weakHandler.GetMethodInfo().IsClosure())
+                throw new ArgumentException("Cannot create weak event handler from closure.", "weakHandler");
+
+            _subscriber = new WeakReference<TSubscriber>(subscriber);
+            _weakHandler = weakHandler;
+        }
+
+        /// <summary>
+        /// Removes the event handler from the event source.
+        /// </summary>
+        protected abstract void RemoveEventHandler();
+
+        /// <summary>
+        /// Method called when the event is raised.
+        /// </summary>
+        /// <param name="sender">The sender.</param>
+        /// <param name="args">The <typeparamref name="TEventArgs"/> instance containing the event data.</param>
+        /// <remarks>Register this method on the source event.</remarks>
+        protected void OnEvent(object sender, TEventArgs args)
+        {
+            TSubscriber subscriber;
+            if (_subscriber.TryGetTarget(out subscriber))
+            {
+                _weakHandler(subscriber, sender, args);
+            }
+            else
+            {
+                RemoveEventHandler();
+            }
+        }
+
+        /// <summary>
+        /// Unregisters the event handler from the event source.
+        /// </summary>
+        public void Dispose()
+        {
+            RemoveEventHandler();
+        }
+    }
+
+    /// <summary>
+    /// Base class for weak event handler.
+    /// </summary>
+    /// <typeparam name="TSource">The type of the event source.</typeparam>
+    /// <typeparam name="TSubscriber">The type of the event subscriber.</typeparam>
+    /// <typeparam name="TEventArgs">The type of the event arguments.</typeparam>
+    public abstract class WeakEventHandlerBase<TSource, TSubscriber, TEventArgs> : IWeakEventHandler, IDisposable
+        where TSource : class
+        where TSubscriber : class
+    {
+        private readonly WeakReference<TSource> _source; 
+        private readonly WeakReference<TSubscriber> _subscriber;
+        private readonly Action<TSubscriber, object, TEventArgs> _weakHandler;
+
+        /// <summary>
+        /// Initializes a new instance of the <see cref="WeakEventHandlerBase&lt;TSubscriber, TEventArgs&gt;"/> class.
+        /// </summary>
+        /// <param name="source">The event source.</param>
+        /// <param name="subscriber">The event subscriber.</param>
+        /// <param name="weakHandler">The weak handler.</param>
+        protected WeakEventHandlerBase(TSource source, TSubscriber subscriber, Action<TSubscriber, object, TEventArgs> weakHandler)
+        {
+            if (source == null)
+                throw new ArgumentNullException("source");
+            if (subscriber == null)
+                throw new ArgumentNullException("subscriber");
+            if (weakHandler == null)
+                throw new ArgumentNullException("weakHandler");
+            if (weakHandler.GetMethodInfo().IsClosure())
+                throw new ArgumentException("Cannot create weak event handler from closure.", "weakHandler");
+
+            _source = new WeakReference<TSource>(source);
+            _subscriber = new WeakReference<TSubscriber>(subscriber);
+            _weakHandler = weakHandler;
+        }
+
+        private void RemoveEventHandler()
+        {
+            TSource source;
+            if (_source.TryGetTarget(out source))
+            {
+                RemoveEventHandler(source);
+            }
+        }
+
+        /// <summary>
+        /// Removes the event handler from the event source.
+        /// </summary>
+        /// <param name="source">The event source.</param>
+        protected abstract void RemoveEventHandler(TSource source);
+
+        /// <summary>
+        /// Method called when the event is raised.
+        /// </summary>
+        /// <param name="sender">The sender.</param>
+        /// <param name="args">The <typeparamref name="TEventArgs"/> instance containing the event data.</param>
+        /// <remarks>Register this method on the source event.</remarks>
+        protected void OnEvent(object sender, TEventArgs args)
+        {
+            TSubscriber subscriber;
+            if (_subscriber.TryGetTarget(out subscriber))
+            {
+                _weakHandler(subscriber, sender, args);
+            }
+            else
+            {
+                RemoveEventHandler();
+            }
+        }
+
+        /// <summary>
+        /// Unregisters the event handler from the event source.
+        /// </summary>
+        public void Dispose()
+        {
+            RemoveEventHandler();
+        }
+    }
+}
diff --git a/src/Weakly/Events/WeakEventSource.cs b/src/Weakly/Events/WeakEventSource.cs
index 2a45269..c5c9e3a 100644
--- a/src/Weakly/Events/WeakEventSource.cs
+++ b/src/Weakly/Events/WeakEventSource.cs
@@ -10,24 +10,16 @@ namespace Weakly
     /// <typeparam name="TEventArgs">The type of the event data generated by the event.</typeparam>
     public abstract class WeakEventSourceBase<TEventArgs>
     {
-        private readonly List<WeakAction<object, TEventArgs>> _eventHandlerEntries = new List<WeakAction<object, TEventArgs>>();
+        private readonly List<Handler> _eventHandlerEntries = new List<Handler>();
         private readonly WeakReference _gcSentinel = new WeakReference(new object());
 
-        #region Cleanup handling
-
-        private bool IsCleanupNeeded()
+        private void CleanIfNeeded()
         {
-            if (_gcSentinel.Target == null)
-            {
-                _gcSentinel.Target = new object();
-                return true;
-            }
+            if (_gcSentinel.IsAlive)
+                return;
 
-            return false;
-        }
+            _gcSentinel.Target = new object();
 
-        private void CleanAbandonedItems()
-        {
             for (var i = _eventHandlerEntries.Count - 1; i >= 0; i--)
             {
                 var entry = _eventHandlerEntries[i];
@@ -36,16 +28,6 @@ private void CleanAbandonedItems()
             }
         }
 
-        private void CleanIfNeeded()
-        {
-            if (IsCleanupNeeded())
-            {
-                CleanAbandonedItems();
-            }
-        }
-
-        #endregion
-
         /// <summary>
         /// Adds the specified event handler.
         /// </summary>
@@ -61,7 +43,7 @@ protected void Add(Delegate eventHandler)
             lock (_eventHandlerEntries)
             {
                 CleanIfNeeded();
-                _eventHandlerEntries.Add(new WeakAction<object, TEventArgs>(eventHandler.Target, eventHandler.GetMethodInfo()));
+                _eventHandlerEntries.Add(new Handler(eventHandler.Target, eventHandler.GetMethodInfo()));
             }
         }
 
@@ -98,7 +80,7 @@ protected void Remove(Delegate eventHandler)
         /// <param name="e">An object that contains the event data.</param>
         public void Raise(object sender, TEventArgs e)
         {
-            WeakAction<object, TEventArgs>[] invocationList;
+            Handler[] invocationList;
             lock (_eventHandlerEntries)
             {
                 CleanIfNeeded();
@@ -119,6 +101,44 @@ public void Raise(object sender, TEventArgs e)
         /// <param name="sender">The source of the event.</param>
         /// <param name="e">An object that contains the event data.</param>
         protected abstract void OnRaise(object sender, TEventArgs e);
+
+        #region Private class
+
+        private sealed class Handler
+        {
+            private readonly WeakReference _instance;
+            private readonly MethodInfo _method;
+
+            public Handler(object target, MethodInfo method)
+            {
+                _instance = new WeakReference(target);
+                _method = method;
+            }
+
+            public bool IsAlive
+            {
+                get { return _instance.IsAlive; }
+            }
+
+            public object Target
+            {
+                get { return _instance.Target; }
+            }
+
+            public MethodInfo Method
+            {
+                get { return _method; }
+            }
+
+            public void Invoke(object sender, TEventArgs args)
+            {
+                var target = Target;
+                if (target != null)
+                    Builders.Builder.OpenAction.BuildAction<object, TEventArgs>(Method)(target, sender, args);
+            }
+        }
+
+        #endregion
     }
 
     /// <summary>
@@ -135,7 +155,7 @@ public sealed class WeakEventSource : WeakEventSourceBase<EventArgs>
         public void Add(EventHandler eventHandler)
         {
             if (eventHandler == null) return;
-            if (eventHandler.Target == null)
+            if (eventHandler.Target == null || eventHandler.Target is IWeakEventHandler)
             {
                 _staticEventHandlers += eventHandler;
                 return;
@@ -151,7 +171,7 @@ public void Add(EventHandler eventHandler)
         public void Remove(EventHandler eventHandler)
         {
             if (eventHandler == null) return;
-            if (eventHandler.Target == null)
+            if (eventHandler.Target == null || eventHandler.Target is IWeakEventHandler)
             {
                 _staticEventHandlers -= eventHandler;
                 return;
@@ -191,7 +211,7 @@ public sealed class WeakEventSource<TEventArgs> : WeakEventSourceBase<TEventArgs
         public void Add(EventHandler<TEventArgs> eventHandler)
         {
             if (eventHandler == null) return;
-            if (eventHandler.Target == null)
+            if (eventHandler.Target == null || eventHandler.Target is IWeakEventHandler)
             {
                 _staticEventHandlers += eventHandler;
                 return;
@@ -207,7 +227,7 @@ public void Add(EventHandler<TEventArgs> eventHandler)
         public void Remove(EventHandler<TEventArgs> eventHandler)
         {
             if (eventHandler == null) return;
-            if (eventHandler.Target == null)
+            if (eventHandler.Target == null || eventHandler.Target is IWeakEventHandler)
             {
                 _staticEventHandlers -= eventHandler;
                 return;
diff --git a/src/Weakly/Events/WeakNotifyPropertyChangedHandler.cs b/src/Weakly/Events/WeakNotifyPropertyChangedHandler.cs
new file mode 100644
index 0000000..ea72358
--- /dev/null
+++ b/src/Weakly/Events/WeakNotifyPropertyChangedHandler.cs
@@ -0,0 +1,22 @@
+using System;
+using System.ComponentModel;
+
+namespace Weakly
+{
+    internal sealed class WeakNotifyPropertyChangedHandler<TSubscriber> :
+        WeakEventHandlerBase<INotifyPropertyChanged, TSubscriber, PropertyChangedEventArgs>
+        where TSubscriber : class
+    {
+        public WeakNotifyPropertyChangedHandler(INotifyPropertyChanged source, TSubscriber subscriber,
+            Action<TSubscriber, object, PropertyChangedEventArgs> weakHandler)
+            : base(source, subscriber, weakHandler)
+        {
+            source.PropertyChanged += OnEvent;
+        }
+
+        protected override void RemoveEventHandler(INotifyPropertyChanged source)
+        {
+            source.PropertyChanged -= OnEvent;
+        }
+    }
+}
diff --git a/src/Weakly/Weakly.csproj b/src/Weakly/Weakly.csproj
index 263cddc..0bf87f0 100644
--- a/src/Weakly/Weakly.csproj
+++ b/src/Weakly/Weakly.csproj
@@ -73,21 +73,19 @@
     <Compile Include="Builders\ExpressionOpenFuncBuilder.cs" />
     <Compile Include="Builders\IOpenActionBuilder.cs" />
     <Compile Include="Builders\IOpenFuncBuilder.cs" />
-    <Compile Include="Delegates\DynamicEvent.cs" />
+    <Compile Include="Delegates\WeakFunc.cs" />
+    <Compile Include="Events\IWeakEventHandler.cs" />
+    <Compile Include="Delegates\WeakAction.cs" />
+    <Compile Include="Events\WeakCanExecuteChangedHandler.cs" />
+    <Compile Include="Events\WeakEventHandlerBase.cs" />
+    <Compile Include="Events\WeakEventHandler.cs" />
+    <Compile Include="Events\WeakNotifyPropertyChangedHandler.cs" />
     <Compile Include="Reflection\ManagedRuntime.cs" />
     <Compile Include="Reflection\ReflectionHelper.cs" />
-    <Compile Include="Delegates\DynamicDelegate.cs" />
-    <Compile Include="Delegates\OpenAction.cs" />
-    <Compile Include="Delegates\OpenFunc.cs" />
-    <Compile Include="Delegates\WeakDelegate.cs" />
-    <Compile Include="Delegates\DynamicProperty.cs" />
-    <Compile Include="Events\WeakEventHandler.cs" />
     <Compile Include="Expressions\ExpressionHelper.cs" />
     <Compile Include="IO\MemoryTributary.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="Delegates\WeakAction.cs" />
     <Compile Include="Events\WeakEventSource.cs" />
-    <Compile Include="Delegates\WeakFunc.cs" />
     <Compile Include="Reflection\ReflectionPath.cs" />
     <Compile Include="Reflection\ManagedRuntimeType.cs" />
     <Compile Include="Tasks\FaultedTaskEventArgs.cs" />
diff --git a/src/Weakly/Weakly.csproj.DotSettings b/src/Weakly/Weakly.csproj.DotSettings
index 4ddd9a5..551bfc8 100644
--- a/src/Weakly/Weakly.csproj.DotSettings
+++ b/src/Weakly/Weakly.csproj.DotSettings
@@ -1,13 +1,8 @@
 <wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
-	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=Builder/@EntryIndexedValue">False</s:Boolean>
-	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=Collections/@EntryIndexedValue">True</s:Boolean>
-	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=Delegates/@EntryIndexedValue">True</s:Boolean>
-	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=Events/@EntryIndexedValue">True</s:Boolean>
-	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=Expression/@EntryIndexedValue">True</s:Boolean>
-	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=Expressions/@EntryIndexedValue">True</s:Boolean>
-	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=IO/@EntryIndexedValue">True</s:Boolean>
-	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=MVVM_005CCoroutines/@EntryIndexedValue">True</s:Boolean>
-	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=MVVM_005CEventAggregator/@EntryIndexedValue">True</s:Boolean>
-	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=MVVM_005CValidation/@EntryIndexedValue">True</s:Boolean>
-	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=Reflection/@EntryIndexedValue">True</s:Boolean>
-	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=Tasks/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
\ No newline at end of file
+	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=collections/@EntryIndexedValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=delegates/@EntryIndexedValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=events/@EntryIndexedValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=expressions/@EntryIndexedValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=io/@EntryIndexedValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=reflection/@EntryIndexedValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=tasks/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
\ No newline at end of file