An extremely minimalistic and portable implementation of the Mvvm Pattern