//Set up component holder methods
Mockito.when(player.add(Matchers.argThat(new ClassOrSubclassMatcher<EntityComponent>(EntityComponent.class)))).thenAnswer(componentHolder);
Mockito.when(player.get(Matchers.argThat(new ClassOrSubclassMatcher<EntityComponent>(EntityComponent.class)))).thenAnswer(componentHolder);
Mockito.when(player.getExact(Matchers.argThat(new ClassOrSubclassMatcher<EntityComponent>(EntityComponent.class)))).thenAnswer(componentHolder);
Mockito.when(player.detach(Matchers.argThat(new ClassOrSubclassMatcher<EntityComponent>(EntityComponent.class)))).thenAnswer(componentHolder);
Mockito.when(player.getData()).thenReturn(componentHolder.getData());
Mockito.when(player.getEngine()).thenAnswer(new EntityEngineAnswer(engine));
//Set up entity tick
Mockito.doAnswer(new EntityTickAnswer(player)).when(player).onTick(Mockito.anyFloat());