Feature/camera gallery refactor

Then, will blow it up in a future pull request :D