An implementation of presenter pattern.