Started Framework abstraction, eventually the framework package should
be moved to a seperate project.