! Handle completed futures in-place, rename SmartRelativeLayout to RuleRelativeLayout