Class architecture for controlls