Refactor the presented_facets method

Was getting very cluttered; split it into several component parts.