* prevent cursor from sticking out of paragraph * define StatefulDrawableComponent * use database filter component * fix event order