Challenges: - Creating a modular secure backend using the Firebase suite using Cloud Functions & security rules. - Using both dedicated servers & distributed authority networking models within the same project to better suite different modes. - Creating a maintainable, extendable code base, using assembly definitions, namespaces, modules and well defined systems.