step 5.3: count lines with code before of after comments (refactor)
step 5.4: Final refactor to implement the final utilities

Fiest I was centered in the step-by-step design, so to facilitate the
testing, I concentrated myself in code easily testable, so used
primitives types. In this final step, a more abstract solution is
developed