investigate Typed Ask as a pattern

User picture
User picture