Separated layers and added presenter for UI