Attempt to abstract away libMTP layer to make way for the removal of dependency in the future.