# Functions
Await uses Execute() to invoke a runnable, then waits for any traffic on a signal channel before shutting down gracefully.
Execute is a convenience function that creates the necessary synchronization objects and then invokes Run().
NewKeyValue initializes and returns a distinct KeyValue instance.
WaitTimeout performs a timed wait on a given sync.WaitGroup.
# Structs
KeyValue is a concurrent mapping of arbitrary types with a completely asynchronous API.
# Interfaces
KeyValueOperation represents an atomic operation that is allowed to mutate the storage of a KeyValue.
KeyValueTransformer is a binary operation that produces a result from a key/value pair.
Runnable represents any operation that can spawn zero or more goroutines.
# Type aliases
KeyValueOperationFunc is a function type that implements KeyValueOperation.
KeyValueStorage is the map type used by KeyValue.
KeyValueTransformerFunc is a function type that implements KeyValueTransformer.
RunnableFunc is a function type that implements Runnable.
RunnableSet is a slice type that allows grouping of operations.