Adding abstract API4KB classes

Builder pattern is used for Environments