added more async behaviour to XObjectController