Customizar ElggObject view

My plugin hás a page like this: https://drive.google.com/file/d/0B_HwgyV_NIl-UncwUlBveVdxZ3M/view?usp=sharing

I am creating the list with elgg_list_entites ().
To create the columns 1, 2, 3, 4, Faults and Average, I can do the form below to view / default / user / student:

$ metadata = elgg_view_menu ('entity', $ metadata_vars);
$ list_body = elgg_view ('object / elements / summary', $ params);

Using the hook elgg_register_plugin_hook_handler ('register', 'menu: entity') to create the HTML of the columns.

Or the second alternative is:

$ metadata = <'HTML of the columns'>;
$ list_body = elgg_view ('object / elements / summary', $ params);

What better alternative of the two above?
There is another alteraniva better?