Cleaned up the code a bit.
Removed a field in Kernel (Array). It was only used for getting the size, which didn't have to be passed back anyway.