You keep repeating 'getOwner().get(DropComponent.class)' in onAttached. I suggest you store the DropComponent in a variable from the getOwner().add(...) call. That way you are not performing a bunch of useless hashmap lookups that get(...) performs.