You use RuntimeContext* only to get to the ApplicationSystem, would make sense to pass the ApplicationSystem here instead?