Programming, universal principles and the separation of concerns.