Feature encapsulate drone model

Making #986 up to date, and making the Desktop branch work with the new code.