Changed basic prototypes and singletons to be created using derive
instead of clone.

Signed-off-by: Jakob Brandsborg Ehmsen <jakobehmsen.github@gmail.com>