/// <summary>
    /// Create hut and/or place in tiled interface
    /// </summary>
    /// <returns></returns>
    public void DebugCreateHut(Transform targetTransform, IRegion region)
    {
        // Note: Ensure below cast is typesafe
        VillageNode village = region as VillageNode;

        var targetPosition      = targetTransform.position;
        var targetRotationEuler = targetTransform.rotation.eulerAngles;
        var targetRotation      = Quaternion.Euler(0, targetRotationEuler.y, 0);

        GameObject dummyObj = new GameObject("dummy object");

        dummyObj.transform.position = targetPosition;
        dummyObj.transform.rotation = targetRotation;
        UtilityFunctions.PutObjectOnGround(dummyObj.transform);
        targetPosition = dummyObj.transform.position;

        Debug.Log($"House construction at {Time.fixedTime}");
        var collidingArea = village.FindAreaIfWithinAny(targetPosition);

        Debug.Log($"Is this part of a residence area? {!(collidingArea is null)}");
        if (collidingArea is null)
        {
            // Hut construction can begin
            village.DebugConstructHut(dummyObj.transform);
            Debug.Log($"Hut constructed at {targetPosition}");
        }
        else
        {
            // Snap to nearest available tile
            village.DebugSnapToAndConstructHut(dummyObj.transform, collidingArea);
            Debug.Log($"Snapped to new position and Hut constructed at {dummyObj.transform.position}");
        }
        Destroy(dummyObj);
    }