Better separate the different concern in the system.