Logic moved to its own view composer