Architecting Modern Android Apps