#296 - Controllers as interfaces