Split backbone agent into multiple files to ease development