public static void Move(EnumDirection dir, MazeObject movee)
        {
            switch (dir)
            {
                case EnumDirection.Up:
                    movee.GetPosition().SetY( movee.GetPosition().GetY() - 1 );
                    movee.getSurroundings().GetUp().GetPosition().SetY( movee.getSurroundings().GetUp().GetPosition().GetY() + 1 );

                    SwapUpDown(movee.getSurroundings().GetUp(), movee);
                    break;

                case EnumDirection.Down:
                    movee.GetPosition().SetY( movee.GetPosition().GetY() + 1 );
                    movee.getSurroundings().GetDown().GetPosition().SetY( movee.getSurroundings().GetDown().GetPosition().GetY() - 1 );

                    SwapUpDown(movee, movee.getSurroundings().GetDown());
                    break;

                case EnumDirection.Left:
                    movee.GetPosition().SetX( movee.GetPosition().GetX() - 1 );
                    movee.getSurroundings().GetLeft().GetPosition().SetX(movee.getSurroundings().GetLeft().GetPosition().GetX() + 1);

                    SwapLeftRight(movee, movee.getSurroundings().GetLeft());
                    break;

                case EnumDirection.Right:
                    movee.GetPosition().SetX( movee.GetPosition().GetX() + 1 );
                    movee.getSurroundings().GetRight().GetPosition().SetX( movee.getSurroundings().GetRight().GetPosition().GetX() - 1 );

                    SwapLeftRight(movee.getSurroundings().GetRight(), movee);
                    break;

                default:
                    throw new UnauthorizedAccessException();

            }
        }
        public void MazeObjectRefresh(MazeObject refresher)
        {
            Rectangle replacement = new Rectangle();
            replacement.Height = _pixelSize;
            replacement.Width = _pixelSize;
            replacement.Fill = refresher.GetColor();

            int left = refresher.GetPosition().GetX() * _pixelSize;
            int top = refresher.GetPosition().GetY() * _pixelSize;

            Canvas.SetLeft(replacement, left);
            Canvas.SetTop(replacement, top);

            foreach (Rectangle rec in screen.Children)
            {
                if (Canvas.GetLeft(rec) == left && Canvas.GetTop(rec) == top)
                {
                    screen.Children.Remove(rec);
                    screen.Children.Add(replacement);
                    break;
                }
            }
        }