Why using a Def instead of a Val?