Add some abstract classes to implement a contract for host behaviour...