public static Task <T> AsyncGetOrFetch <T>(this INativefier <T> self, string key, bool startTaskImmediately)
 {
     return(self.AsyncGetOrFetch(key, null, startTaskImmediately));
 }
 public static Task <T> AsyncGetOrFetch <T>(this INativefier <T> self, string key, Action <T> onCompleted)
 {
     return(self.AsyncGetOrFetch(key, onCompleted, true));
 }
 public static Task <T> AsyncGetOrFetch <T>(this INativefier <T> self, string key)
 {
     return(self.AsyncGetOrFetch(key, null, true));
 }
 public static void AsyncGetOrFetchAndForget <T>(this INativefier <T> self, string key, Action <T> onCompleted)
 {
     self.AsyncGetOrFetch(key, onCompleted, true);
 }