Advice on best practices for structuring components/interfaces?!

Many thanks!

I think in particular it’s the concept of delegates that I was missing, I’ve only come across it in passing and so had a practically non-existent understanding of them.

I’ve done some research now and can definitely see how this would help me tackle some (if not all) of the issues I am seeing with my revised approach!

I’ll give implementing this all a go later today!