Recent years have witnessed a commoditisation of autonomous robots. Almost-self-driving cars ride the roads and vacuum cleaners roam freely in houses. While these advancements showcase the navigation of an agent within the world, more complex interactions are yet to be unlocked. More complex tasks, such as manipulation, require an additional layer of abstraction of how the world is represented. An agent is not trying to navigate an environment, any more. Rather, the agent interacts with entities and tries to control their state. The nature of the agents depends on the task. For example, manipulation tasks involve handling objects. The state of the agent and a representation of the world are the basic building block of a task exe...