I would not consider DropBoxDownloader or FileParser to be part of your model. Your model essentially represents your data. Your model is what gets persisted to a database. Generally, my model consists of POJOs (plain ole Java Objects), which is just a list of properties with getters and setters, and is serializable, so it can be sent over a network connection in a common format like JSON or XML. Anybody who can receive this information in a common format is free to do with it whatever they please, include deserializing into a different programming language. This is how complex systems can communicate with each other, and in some cases, not even knowing the other exists. I always keep my model in a separate package, and sometimes a separate project to enhance visibility and res-usability.
Your view should be able to exist without your data. It wont do everything you want it to do, but it should still be minimally operable as a shell. It should also be replaceable with a different view without loss of functionality. This means you shouldn't be mixing things like database queries in your View files, because you'll have to rewrite your queries for a new view.
Your controller is the glue which integrates your model and packages it up in an easy way to pass along to your view. In general, it does verbs (methods) to nouns (your model objects). I would consider FileParser (assuming it does what it says it does) and DropBoxDownloader to be functions of your controller.