Rename and add some sugar methods. Use Variadic for  variadic functions. Cleanup.