1. A system, comprising: a processor that executes an algorithm; a hardware unit that comprises one or more physical resources; and an abstraction layer implemented by said processor that facilitates communication between the algorithm and the hardware unit through the use of a plurality of functions and that creates a reference to a logical resource that is associated with a corresponding physical resource, wherein each logical resource is associated with at least one private state that represents the most recently configured settings of the logical resource.