Turn RemoteController into abstract class instead of interface