Move some generic code into separate controllers for later reuse. Change-Id: Idc0df32e6efe6d8618f556619fa956aded568119 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>