It uses imaginary APIs for now, but it's OK. This has showed up a bunch of generalizations we will need in our own API. Signed-off-by: Raito Bezarius <masterancpp@gmail.com>