Podrías crear una clase que manejen y controlen sus propios funcionamientos dependiendo del requerimiento que tengan, y que la clase MainAcitivity solo tenga como responsabilidad la interacción con el usuario o interfaz.
De esta manera, si se llega a presentar algún cambio en la base de datos, presentación o funcionamiento de algún método, este se podrá arreglar, modificar o cambiar directamente en la clase sin afectar el funcionamiento de las demás clases.