the way the driver works should not reflect on the way the API works, since the whole point of a Driver Pattern is to abstract such concerns from the API
The only problem is, how can you determine when to release a driver's resources without a cue from a higher layer? Making the lowest layer stateful introduces a session-like architecture to the higher layers.
Originally posted by @cilki in #7 (comment)