Use the selectMotor method to update the whole ui and ensure that one
can add a new motor.
Fix some annoying selection issues by moving some code into the base
class.