add component class
fix header guard
cleanup component class
append KNIGHT_ to DISALLOW_COPY_AND_ASSIGN