Feature/camera gallery refactor

Maybe it will be a bit difficult to keep updated...