Add piece on using the right level of abstraction for the task