How can we implement these events or listeners wherein we can bind each to a viewmodel like a CommandProperty does?