Isolated the User interface from the functionality with a service
interface