Cleaning up
Cleaning up and updating constructors

- Using an array for constructor args of runtimes.
- Removing create_runtime() function
- Moving functions from DefaultFunctions into AbstractRuntime