Move functional methods into their own file.