Separated Layer class into distinct files.