I guess soon we will have other requirements such as adding inner shapes dynamically.
We already do this. :) (and of course it is draggable and resizable, both the outer and inner elements :))

But since we have an extra layer on top of Roassal we can somewhat offset this problem — each shape has a controller, where we define the necessary behavior; however this is really an abuse of the controller as it has different responsibilities. And if there is no best way or systematic structure than it is always reimplemented manually (of course everywhere differently), so it is a constantly increasing mess... but this will definitely require more thinking and designing to get this whole problem right.

Peter