Controls abstracted out to separate class