/// <inheritdoc />
        public void CompleteTile(Tile tile)
        {
            var canvas = tile.Canvas;
            var rule   = _stylesheet.GetCanvasRule(canvas);

            var gameObject = _terrainBuilder.Build(tile, rule);

            AttachBehaviours(gameObject, rule, canvas);

            tile.Canvas.Dispose();
            _objectPool.Shrink();
        }