Adding basic code to Sources

Lacks check for value limits and queued methods are not defined. Status of the source needs to return an Enum value