Made certain objects framework agnostic, and moved them to vendors/Plug