По первому, можно посмотреть как в типовом механизме это сделано и построить по аналогии. Или покурить механизм БСП. Вот http://buh.ruboard.ru/public/502742/ статья например, может из нее что почерпнешь.
Или подождать более дельных и правильных советов