WIP: Implement device methods (exact printing missing)

Most of the code is copied/inspired from kernel/printk