It is an interesting challenge though, to create software that is easy to maintain while capturing all these complexities.