Full fledged typed data binding