Plasmids have been discussed before:
Also there’s been some discussion on the dev forum, but these are all pretty old: