Added Framework for Presenter and State

Should avoid a lot of merge conflicts