Major updates

Uses a new framework system based on #291 to better abstract away components for Android.