Clarify constructor code

Separate final from non-final instance variables making it clear what
happens in the constructor versus what happens in the fill method.