async Task <UserContext> IAccountLayer.AddAccount(Guid user, Guid home, string manufacturer, Dictionary <string, string> loginMeta)
        {
            var usercontext = new UserContext(user, manufacturer, null);

            foreach (var keyval in loginMeta)
            {
                usercontext.AddLoginContext(keyval.Key, keyval.Value);
            }

            var doc = usercontext.SerializeLogin().ToString();

            await this.connectionManager.ExecuteSql(
                "hub.addaccountlogin",
                collection =>
            {
                collection.AddWithValue("user", user);
                collection.AddWithValue("home", home);
                collection.AddWithValue("manufacturer", manufacturer);
                collection.AddWithValue("meta", doc);
            }, this.tokenSource.Token);

            return(usercontext);
        }