Not quite that ideal as yet. The timer pool deals in timer objects with handles, but the uart driver is not so ideal. At present, the programming interface consists of a structure pointer containing everything related to that uart, one item of which is a function code. It's not ideal and needs to be developed further into a more oo call interface.
The most recent project using this set of code had a 4 way rs485 link, with custom protocol, so there are more layers on top of the basic driver to handle line turnaround (port driver), protocol deframing and ack / nack or data responses. The gory structure details become hidden by these. There's also an aux port module used for terminal interface layered on top of the uart driver which provides putchar, getchar, string io and conversion functions. it's called curses.c, as a nod elsewhere :-). There's no rtos, just a simple state machine and multiple interrupt sources to schedule everything.
It oo stuff needs more development, but clients don't pay you for this sort of thing and it has to be done incrementally as time allows. I guess the aim is to have a universal embedded function library, eventually. The code may not be quite as efficient as individual hand coded stuff, but could be very beneficial in many other ways...
Regards,
Chris