Does this return the object? I thought it returned the last statement evaluated in the block.

I would probably change this to return the instance that is being evaluated.