Split common functionality into multiple files.