- refactor thumbnail control logic. Use the c# version of CRTP to move more behaviour to the (now generic) base class.