Re-organized some stuff and added Parcelable implementation. Parcelable allows activities to send and receive data from each other.