Separated concerns in a more angular fashion