fixes#2754 maintenance 

Do you agree that the code becomes easier to read? In the main loop you are not burdened with the logic from owner ship. Uncle bob in clean code calls this a single level of abstraction if I remember correctly.