implement Runnable type which should rename runnable callback at once point, and implement select for enum types