Cleaning Up CFile

Incorporating the changes in PR #2596 
@abhinavagarwalla, could you please refresh my memory; why were these methods before with an empty implementation (i.e. only `{}`) in the header and now they have gotten a complete implementation in this file?