Pulling out some structs so that they can be reused
Reorganizing a bit more
Adding a function to get data about a specific application