Another redesign: Adding additional layer to be used as interface &
cache/data holder for presentation layer.