A parsys is the fundamental container component for composition. Applying this functionality manually into another component would require quite a bit of custom configuration.
If you look at the parsys at /libs/foundation/components/parsys, you will see that it is defined as a container by the property cq:isContainer - true, which instructs CQ to allow for drag and drop. There are multiple sub nodes that will need to be defined etc.
If you are trying to limit only a particular component to be dropped in, this may make sense, and yo should look at the image component, however, the best approach is to make a component that contains a parsys.
Remember that the author's should have the ability to add as much as they want to, and a single object does not allow for this flexibility. You should be handling bad author activity through a review process before the content is published, rather than enforcing it on a software level.
Hope that helps.