Rough in of observable

Base class for objects which raise ‘i have altered’ events
tweaks to default settibgs
commented
move dragCallback and dropCallback into callbacks where they belong