protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            communicator = new Communicator(this);

            var messageButton = FindViewById <Button>(Resource.Id.messageButton);

            messageButton.Click          += (sender, e) => communicator.SendMessage("time: " + DateTime.Now.ToString("T"));
            communicator.MessageReceived += message => RunOnUiThread(() => messageButton.Text = message);

            var dataButton = FindViewById <Button>(Resource.Id.dataButton);

            dataButton.Click += delegate {
                var dataMap = new DataMap();
                dataMap.PutString("time", DateTime.Now.ToString("T"));
                communicator.SendData(dataMap);
            };
            communicator.DataReceived += dataMap => RunOnUiThread(() => dataButton.Text = dataMap.ToString());
        }