Reference vs embed for contracts