Update controller methods to be all virtual

Fix #596
what does temporary mean in the name?