What is a PID Controller and how does it work?